Для облегчения тестирования решения интерактивных задач сделал С++ шаблон.
Состоит из следующих основных частей (см. код):
1) OnlineJudgeInteractor: отвечает на вопросы через stdin/stdout
2) LocalTestInteractor: в конструкторе принимает секретную информацию и отвечает на вопросы, зная её
3) Solver: принимает на вход любой IInteractor, задаёт вопросы, возвращает найденный ответ