- Описание
- Отправленные решения
49. Взлом сервера
Каждый уважающий себя хакер хоть раз взламывал сервер. Теперь возможность выпала и вам. Вам необходимо проникнуть на один из серверов, угадав пароль. Но вот беда, длина пароля — около символов, на перебор уйдут миллиарды лет. Известно, что пароль состоит только из маленьких латинских букв. Также один опытный хакер разработал программу, которая считает расстояние Шарского между вашим вариантом и правильным паролем от сервера. Воспользуйтесь этим!
Сервер блокирует ресурс после попыток.
Расстояние по Шарскому строк и — это
Например, расстояние по Шарскому между строками и равно .
Формат ввода
В первой строке вам дано единственное целое число — длина искомого пароля.
Каждый запрос представляет собой одну строку длины . В ответ на запрос сервер возвращает единственное целое число — расстояние по Шарскому между строкой-запросом и паролем.
При получении ответа 0 завершите программу — данный ответ означает, что вы нашли пароль от сервера.
Формат вывода
Обратите внимание, что
- Любое ваше сообщение должно завершаться переводом строки.
- После вывода каждого сообщения ваша программа должна очищать потоковый буфер, чтобы выведенная вами информация дошла до программы жюри.
Далее приведены примеры очистки буфера для некоторых языков:
- C++:
cout << endl
(перевод строки + очистка буфера),cout.flush()
илиfflush(stdout)
; - Java:
System.out.println()
(перевод строки + очистка буфера),System.out.flush()
; - Python:
print()
(перевод строки + очистка буфера),stdout.flush()
.
Примечание
Рассмотрим гипотический пример работы решения для уточнения принципов взаимодействия.
В первом тестовом примере загадана строка georgiy
.
Длина строки georgiy
равна , поэтому решению на вход подаётся единственное целое число .
Сначала решение делает запрос gfedcba
— и получает в ответ число :
Затем решение делает запрос gennady
— и получает в ответ число :
В итоге решение выводит строку georgiy
, получает (так как строки совпали) и завершается.
Ограничения
Ограничение времени
1,5 с
Ограничение памяти
256 МБ