Это 87 539 319 год, и теперь уединение в космосе стало обычным делом: многие люди сами путешествуют в космосе, движимые не более чем реактивным ранцем на спине, программируя свой курс с помощью персонального компьютера и клавиатуры.
Вы один такой человек; вы вышли на прекрасный, мирный выход в открытый космос, когда внезапно вы были захвачены гравитацией черной дыры!
Когда вы падаете в сторону этой черной дыры, двигаясь все быстрее внутрь, вы понимаете, что ваш единственный шанс на выживание - передать сообщение о бедствии и надеяться, что ближайший корабль придет, чтобы спасти вас.
Итак, вы ломаете клавиатуру и начинаете набирать программу.
Ваша программа может быть на любом языке и должна печатать HELP!
на стандартный вывод (ваш компьютер транслирует весь стандартный вывод в глубину космоса.)
Однако, когда вы находитесь рядом с черной дырой, ваша клавиатура постепенно разрывается в клочья!
Предположим, что вы используете QWERTY-клавиатуру, подобную приведенной ниже, и черная дыра находится слева от вас;
Помните, что левый и правый сдвиг - это две разные клавиши.
после каждого нажатия клавиши крайний левый ряд вашей клавиатуры (клавиши, обозначенные самой левой красной линией) срывается и бросается в черную дыру!
Таким образом, ваш первый нажатие клавиши может быть любой клавиши на клавиатуре, но с этого момента ни один из крайней левой Tab , Caps, Shift, Ctrlили `могут быть использованы ключи, на всех . (r-shift и r-ctrl все еще могут быть использованы)
После очередного нажатия клавиши, клавиши 1, Q, A, Zи Altбудут сброшены в пропасть, и не могут быть использованы в дальнейшем. После этого, вы теряете Space, X, S, W, 2и так далее.
Очевидно, вы хотите завершить свою программу как можно быстрее, чтобы время спасения было увеличено; следовательно, это код-гольф, и выигрывает самая короткая программа при нажатии клавиш !
Каждый ответ должен содержать список нажатий клавиш, поэтому, если мой ответ был этой программой (на языке squardibblyack)
!HELP\.
список ключей может выглядеть так:
Shift!HELP отпустить сдвиг \.
длина: 8
Я волнуюсь, что этот вызов может быть слишком сложным, но я хотел бы видеть ответы на эти вопросы!
источник
print
квалифицируется как STDOUT?Ответы:
CJam, 11 нажатий клавиш
Код
и список ключей
Shift"HELP*") отпустить сдвиг 9-
и вот демонстрация того, как это выглядит:
и вот как работает код:
Попробуйте код здесь
источник
"HELP*")9-[]+''+
, Я не могу напечатать последние четыре.E
него, похоже, его могут унести в пропасть!rs , 10 нажатий клавиш (предполагается, что пользователь использует Nano)
Или эквивалентный редактор, где Shiftне выделяется текст.
Это на самом деле не язык программирования, но если
sed
его можно использовать в Code Golf, тоrs
его можно использовать.Right Shift ! Left E Left H Right L P Enter
Он просто заменяет пустую строку на «HELP!», Эффективно выводя ее на экран. Примерно эквивалентно сценарию sed:
Крутая часть заключается в том, что
rs
автоматически ставится^/
перед шаблоном замены, где разделитель (/
) не найден. Удобно для отступа кода.источник
Enter
это тоже инсульт. 10 ударов.Я полагаю, что самым быстрым, что это можно сделать в любом скрипте, является 11-й случайный случай с Pyth, поскольку любой язык будет нуждаться в каком-либо символе, таком как «p» или кавычка или звездочка или что-то, затем слово
HELP!
, и это Eбудет происходить быстрый, означающий дополнительные нажатия клавиш для перемещения курсора назад, прежде чем Eвставить H, как он нашел, затем снова вперед для Lи P.Если у вас есть что-либо, требующее командного слова, например
disp
илиecho
, вам нужно будет сначала сделать пробел, прежде чем оно будет оторвано, Shiftи !, а затем использовать Homeклавишу, чтобы начать свое слово, и клавиши со стрелками, как описано для RandomHELP
. Но вы будете возиться с ними, пока вы просто не засосете или не потеряете ключи, которые вам нужны слишком быстро, чтобы сделать что-то из этого. Максимум 14 символов, и это при условии, что ваш последний - \или |. Вам нужно 10, чтобы сделатьHELP!
:SHIFT ! HOME E LT ARROW H RT ARROW L P ENTER
Определение
"
или*
илиP
будет нажата непосредственно перед H. Так что 11 должно быть самым быстрым. Или 9, если мы опускаем восклицательный знак и пишем все с заглавной буквы и не имеем символа для ввода.Но нет, я, будучи интернет-историком в 87,539,319 году и всем, и будучи параноиком инопланетян и странного метеорного потока, не говоря уже о черной дыре, я не согласился бы на это. До того, как я отправился в открытый космос, я был бы готов, с этой статьей, которую я нашел бы в своем исследовании, чтобы поблагодарить за это. Я хотел бы загрузить текстовый файл, который уже имеет «HELP!» в нем и есть программа, которая могла бы записать мою координату, используя последние данные о спутниках слежения, которые мы имеем в этом файле. Эту программу я бы назвал "hlp.c", так что она пошла бы:
7 нажатий клавиш:
c Home h l p . Enter
Я понимаю, что мог бы сделать свое имя файла короче, но никто не хочет сообщать о своей позиции случайно, печатая, Hи Enter, особенно, если программа также предупреждает власти (немного похоже на вызов 911, когда у вас нет экстренной помощи?), Так что давайте перейдите к трехбуквенному имени файла, и мы будем предполагать, что у нас все еще должны быть расширения файла с
.
минимум 1 символом. Кроме того, присвоение ему имениhlp
вместо того,help
чтобы избежать использования этих неприятных встроенных функций справки, когда мы собираемся умереть в черной дыре. Я понимаю, что могу даже пропустить ввод .c, просто делая это h l p Enter, но таким образом я избегаю этих неприятныхPlease supply file extension
илиCannot find hlp
ошибки, когда я собираюсь засосать в черную дыру. «Мусор, мусор», в конце концов, все еще будет стандартом в будущем.Таким образом, моя графика будет выглядеть так:
И это также будет легко запомнить, поскольку единственная «отсталость» - это печатать cпервым. Остальное так же, как имя файла.
источник
hlp.c
. В-третьих, вы должны предоставить список нажатий клавиш для программы, не запускающей программу. В-четвертых,C
программы ...help.exe
(илиhelp.out
), чтобы запустить файл скомпилированного кода. И, наконец, если вы слишком сильно нарушаете правила и используете лазейки, почему бы просто не получить файл с именемh.c
?.c
файлом состояло в том, что это мог быть CSCRIPT, а не фактический код C, который потребовал бы компилятора. Еслиh.c
при попытке ввести имя другого файла, содержащего только 1 символ в имени, это может означать, что он случайно вызывается вместо другого файла - я уже объяснил это. Независимо от кода , который был в.c
файле, был ли онConsole.Log("HELP!")
,Console.WriteLine("HELP!")
и т.д., в основном не имеет значения, тем более , что она также будет включать в себя код для интерфейса со спутниками , чтобы получить координату исправить - что - то я уверен , что в будущем будут открыты источник.HELP!
, как я уже упоминал до Кирби и только меньше, например 9, если капитализация и использование Shift не имели значения, и нам не нужно было иметь символ до или послеHELP
, например, с восклицательным знаком или, в случае с Кирби, вводить ключ символ, какp
или,*
чтобы начать программу.help.exe
иhelp.out
не будет работать с черной дырой, разорваны ключами. Кe
тому времени, когдаexe
придет время ,t
оно исчезнет, а при попытке напечатать исчезнетout
. Вы можете введитеt
вout
, первый, а затем нажмите кнопку Home, и введитеHELP
часть, но если вы можете сохранить расширение на 1 символ, почему бы не вы?