print2401. Supermind

printSupermind

Ограничения: время – 200ms/500ms, память – 256MiB Ввод: интерактивная задача Вывод: интерактивная задача copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Шерлок тренирует свои логические способности с помощью усложненного варианта игры Mastermind. Вместо 4- или 6-разрядного числового кода Ватсон должен задумать перестановку из 52 строчных и прописных букв английского алфавита (каждая буква встречается в перестановке ровно один раз). Шерлок называет последовательность из 52 букв (при этом можно указывать одну букву несколько раз), а Ватсон сообщает, сколько букв оказалось на той же позиции, что и в задуманной перестановке. Шерлоку требуется не более 300 попыток, чтобы угадать перестановку, задуманную Ватсоном.
Напишите программу, которая продемонстрирует логические способности не хуже, чем у Шерлока.
Протокол взаимодействия
Программа должна вывести строку, содержащую символы ? и пробел, после которых указывается последовательность из 52 строчных и прописных букв английского алфавита. После вывода программа должна сделать принудительную запись буфера вывода (в C++ это делает endl, в C нужно использовать fflush(stdout), в Pascal – flush(output)). После вывода попытки программа получает строку, содержащую одно целое число – количество букв, находящихся на той же позиции, что и в задуманной перестановке. Когда последовательность будет угадана, программа должна вывести содержащую символы ! и пробел, после которых следует угаданная перестановка. Если программа не найдет перестановку за 300 попыток, то программа получает вердикт "Неверный ответ".

Вывод программы

? AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
? ABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
? ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
? ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxzy
! ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxzy

Ответы системы

1
2
50
52
loading