Привет всем!
Я пишу интерактивную задачу в Полигоне.
Программа должна посылать интератору запросы вида "символ число" (через пробел).Для этого я написал следующее в коде интератора
char c= ouf.readChar();
int a = ouf.readInt();
И получаю wrong output format Expected integer, but "=" found
Потом подумал, что пробел тоже символ и написал так
char c= ouf.readChar();
char p=ouf.readChar();
int a = ouf.readInt();
Та же петрушка.В чем дело?
Спасибо!
UPD
Если поменять символ и число местами, то прокатывает
int a = ouf.readInt();
ouf.nextChar();
char c= ouf.readChar();
А вот наоборот- никак(
Попробуйте
ouf.skipBlanks()
— он пропускает все пробельные символы. Или вообще использоватьouf.readToken()
вместоouf.readChar()
— он тут, вроде как, больше по смыслу подходит.Не работает(
Либо я что-то не то делаю, либо я не знаю что.
Я писал так
char c= ouf.readToken()[1];
ouf.nextChar();
int a = ouf.readInt();
Все разобрался.
string s=ouf.readString();
char c=s[0];
s=s.substr(2,100500);
int a=atoi(s.c_str());
Вообще, такому коду не место в интеракторе. В случае проблем с задачей жюри придётся читать этот код — в интересах автора, чтобы это оказалось как можно проще.
Попробуйте всё-таки читать каждый запрос так:
У меня такой код, вставленный в случайный чекер, работает как задумывалось.
У тебя случайно не происходит считывание символа "\n"?