#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
#include <STRING>
using namespace std;
string s,subs;
int step;
char zn;
ifstream in("input.txt");
ofstream out("output.txt");
int main()
{
getline(in,s);
getline(in,subs);
bool flag =false;
for(int i=1;i<=s.length();i++)
{
s=s[s.length()-1]+s.substr(0,s.length()-1);
if(s==subs)
{
flag=true;
out<<i;
break;
}
}
if(flag==false)
out<<"-1";
}
задачи.которые у меня не выходят.
вот задача 1
http://www.acmp.ru/index.asp?main=task&id_task=203
и исходник.
Код:
задача проходит всего один тест :( в чем проблемма ?
Ну и замечания, по большей части не влияющие непосредственно на работу программы, но по-хорошему лучше бы их исправить:
1) При хорошей практике программирования, следует стараться избегать использования глобальных переменных. В вашем случае, делать переменные глобальными нет никакой необходимости, и лучше поместить объявления переменных string s, subs, ifstream in и т.д. внутрь main.
2) Хоть по условиям задачи и подразумевается, что во входном файле обе строки (которые у вас считываются в s и subs) должны быть одной длины, я бы на всякий случай сделал в main проверку на то, что это действительно так. Если проверка показывает, что строки не равной длины, то либо выдавать сообщение об ошибке на экран, либо в выходной файл писать какой-нибудь специальный код (-2 например) либо само сообщение.
3) Общее замечание - отступы в коде у вас как-то пляшут, некрасиво смотрится...