Что-то не так с вашей клавиатурой. ShiftКлюч имеет свой собственный разум. Каждый раз, когда вы вводите символ, вы не представляете, будет ли он сдвинутым или нет (хотя это 50-50). Кроме стандартных символьных клавиш на клавиатуре ничего не работает. Там нет мыши или других средств ввода.
Каким-то образом вы знаете, что единственный способ исправить ситуацию - это написать программу, которая выводит Dear Computer, please stop giving me shift!
на стандартный вывод. К счастью, ваша IDE открыта, и вы можете запустить программу, но, конечно, по мере ее ввода вы не будете знать, какие символы будут смещены.
Какую последовательность нажатий клавиш вы бы использовали для написания программы, которая имеет наилучшие шансы работать с первой попытки?
Детали
Вы используете стандартную QWERTY-клавиатуру , поэтому вы можете нажать 50 символов.
Версии без изменений (только 47):
`1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./
Сдвинутые версии (только 47):
~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?
Последние 3 клавиши - это Enter, Tabи Space, которые одинаково сдвинуты и не сдвинуты.
Последовательность из N этих символов имеет 2 N - (количество пробельных символов), которые могли бы быть выведены, если вы набрали их с неисправной клавиатуры. Например, набор текста A Space mмог дать
a m
или A m
или a M
или или A M
.
Запишите в программу эти символы и посмотрите на все ее 2 N - (количество пробельных символов) возможных комбинаций сдвига. Чем больше комбинаций, Dear Computer, please stop giving me shift!
тем лучше. Ваша оценка - это количество рабочих комбинаций (действительных программ), деленное на общее количество комбинаций. Самый высокий балл побеждает.
Заметки
- Для действительных программ
Dear Computer, please stop giving me shift!
единственным побочным эффектом должна быть точная печать и ничего больше для стандартного вывода. - Действительные программы не должны принимать входные данные.
- Неверные программы могут делать что угодно.
- Комментарии могут использоваться где угодно.
- Пробелы ответы не могут победить, потому что получение 100% баллов (относительно) тривиально. Вы все еще можете отправить решение Whitespace для развлечения.
- Ваша программа должна содержать не более 1024 символов.
Обновление: изменено, Stop giving me shift!
чтобы Dear Computer, please stop giving me shift!
учесть более сложные ответы. При желании существующие ответы могут остаться такими, какие они есть.