adamgibiadam's blog

By adamgibiadam, history, 7 years ago, In English

I am taking idleness limit exceeded error but i don't know why. This is my first interactive problem so don't know much about flushing and what does it really do. Can someone explain it?

Problem: 811D - Vladik and Favorite Game

Submission: 31046159

  • Vote: I like it
  • +3
  • Vote: I do not like it

»
7 years ago, # |
  Vote: I like it 0 Vote: I do not like it

According to the problem statement, it’s necessary to print newline character and flush output. You do the latter but not the former.

As for the why, probably the jury program reads your commands similarly to scanf ("%s", buf) or fgets. If such procedure receives a character 'U', it waits for a follow-up, because there can be more characters in the string. On the other hand, if you print 'U' and a newline character (for example, "U\n"), it will know the string ended, and proceed with answering your command.