- 23, Oct 2024
- #1
Что-то не так с вашей клавиатурой. Сдвиг ключ имеет собственный разум. Каждый раз, когда набираешь символ, ты понятия не имеешь, получится он сдвинутым или нет (хотя это 50 на 50). Кроме стандартных символьных клавиш, на клавиатуре ничего не работает. Здесь нет мыши или других средств ввода.
Каким-то образом вы знаете, что единственный способ исправить ситуацию — это написать программу, которая выводит
to stdout. Luckily your IDE is open and you are capable of running a program, but of course as you type it you won't know which characters will be shifted.Dear Computer, please stop giving me shift!
Какую последовательность нажатий клавиш вы бы использовали, чтобы написать программу, которая с наибольшей вероятностью заработает с первой попытки?
Подробности
Вы используете стандартная QWERTY-клавиатура, поэтому вы можете нажать 50 символьных клавиш.
Несмещенные версии (только 47):
Stop giving me shift!
Сдвинутые версии (только 47):
Dear Computer, please stop giving me shift!
Последние 3 клавиши Входить, Вкладка, и Космос, которые являются одинаковыми смещенными и несмещенными.
Последовательность из N этих символов имеет 2N - (количество пробелов) как они могли бы быть выведены, если бы вы набрали их на неисправной клавиатуре. Например, набрав А Космос м возможно, уступил
Dear Computer, please stop giving me shift!
или A M
or a M
or A m
.
Напишите программу этих символов и просмотрите все ее 2N - (количество пробелов) возможные комбинации смен. Чем больше комбинаций выводится a m
the better. Your score is the number of working combinations (valid programs) divided by the total number of combinations. The highest score wins.
Примечания
- Для действительных программ печать точно
~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?
and nothing else to stdout should be the only side effect. - Действительные программы не должны принимать входные данные.
- Неверные программы могут делать что угодно.
- Комментарии можно использовать где угодно.
- Ответы с пробелами не могут выиграть, потому что получить 100% оценку (относительно) тривиально. Вы все равно можете представить решение с пробелами ради развлечения.
- Длина вашей программы должна составлять не более 1024 символов.
Обновлять: Измененный `1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./
to Dear Computer, please stop giving me shift!
чтобы можно было дать более сложные ответы. При желании существующие ответы могут остаться такими, какие они есть.
#вызов кода #ограниченный исходный код