C'est l'année 87539319 et la marche solitaire dans l'espace est désormais monnaie courante, de nombreuses personnes voyagent seules dans l'espace, propulsées par un jetpack sur le dos, programmant leur cours avec un ordinateur personnel et un clavier au fur et à mesure.
Vous êtes une de ces personnes; vous étiez sur une belle sortie dans l'espace paisible, quand, tout d'un coup, vous avez été pris au piège par la gravité d'un trou noir!
En plongeant vers ce trou noir, en spirale toujours plus rapide vers l'intérieur, vous réalisez que votre seule chance de survie est de diffuser un message de détresse et d'espérer qu'un navire à proximité viendra vous sauver.
Donc, vous sortez votre clavier et commencez à taper un programme.
Votre programme peut être dans n'importe quelle langue et doit imprimer HELP!
sur stdout (votre PC diffuse tout stdout loin dans les profondeurs de l'espace.)
Cependant, comme vous êtes près d'un trou noir, votre clavier est lentement déchiré!
Supposons que vous utilisez un clavier QWERTY comme celui ci-dessous et que le trou noir est à votre gauche;
N'oubliez pas que les décalages gauche et droit sont deux touches différentes.
après chaque pression de touche, la rangée la plus à gauche de votre clavier (touches couvertes par la ligne rouge la plus à gauche) est arrachée et jetée dans le trou noir!
Donc, votre première pression de touche pourrait être une touche du clavier, mais à partir de là aucun des plus à gauche Tab , Caps, Shift, Ctrlou les `touches peuvent être utilisées, tout . (r-shift et r-ctrl peuvent toujours être utilisés)
Après la prochaine touche, les touches 1, Q, A, Zet Altsont jetés dans l'abîme, et ne peuvent être utilisés par la suite. Après cela, vous perdez Space, X, S, W, 2et ainsi de suite.
De toute évidence, vous souhaitez terminer votre programme le plus rapidement possible, afin que le temps de sauvetage soit augmenté; par conséquent, c'est le golf de code, et le programme le plus court en appuyant sur les touches gagne!
Chaque réponse doit fournir une liste de touches, donc, si ma réponse était ce programme (dans la langue squardibblyack)
!HELP\.
une liste de clés pourrait ressembler à:
Shift!HELP relâcher le décalage \.
longueur: 8
Je crains que ce défi ne soit trop difficile, mais j'aimerais voir le genre de réponses soumises!
la source
print
qualifie STDOUT?Réponses:
CJam, 11 frappes
Le code est
et la liste des touches est
Shift"HELP*") relâcher le décalage 9-
et voici une démonstration de son apparence:
et voici comment fonctionne le code:
Essayez le code ici
la source
"HELP*")9-[]+''+
. Je ne peux pas taper les quatre derniers.E
, il semble qu'il pourrait entrer dans l'abîme!rs , 10 frappes (suppose que l'utilisateur utilise Nano)
Ou un éditeur équivalent où Shiftne sélectionne pas de texte.
Ce n'est pas vraiment un langage de programmation, mais s'il
sed
peut être utilisé sur Code Golf, ilrs
peut l'être.Right Shift ! Left E Left H Right L P Enter
Il remplace simplement la chaîne vide par "HELP!", L'imprimant efficacement à l'écran. À peu près équivalent au script sed:
La partie cool est que
rs
met automatiquement^/
devant un modèle de remplacement où le délimiteur (/
) n'est pas trouvé. Pratique pour indenter le code.la source
Enter
c'est aussi un accident vasculaire cérébral. 10 coups.Je crois que le plus rapide que cela pourrait être fait dans n'importe quel script est Random's 11 avec Pyth, car n'importe quelle langue va nécessiter un caractère, comme "p" ou une citation ou un astérisque ou quelque chose, puis le mot
HELP!
, et ça Eva aller rapide, ce qui signifie que des touches supplémentaires sont pressées pour déplacer le curseur vers l'arrière avant Ede l'introduire H, comme il l'a trouvé, puis vers l'avant pour Let P.Si vous avez quelque chose qui nécessite un mot de commande, comme
disp
ouecho
, vous devez d'abord faire un espace avant qu'il ne soit arraché, le Shiftet !, puis utilisez la Hometouche pour commencer votre mot et les touches fléchées comme Random décrit pourHELP
. Mais vous vous frayez un chemin jusqu'à ce que vous soyez juste aspiré ou perdiez les clés dont vous avez besoin trop rapidement pour faire quoi que ce soit. Il n'y a qu'un maximum de 14 caractères, et cela suppose que votre dernier est \ou |. Il vous en faut 10 juste pour faireHELP!
:SHIFT ! HOME E LT ARROW H RT ARROW L P ENTER
Le définissant
"
ou*
ouP
serait pressé juste avant le H. 11 doit donc être le plus rapide. Ou 9 si nous omettons l'exclamation et tout en majuscule et n'avons pas de symbole à taper.Mais non, moi, étant historien de l'internet en l'an 87 539 319 et tout, et paranoïaque des étrangers et de la pluie de météores, encore moins du trou noir, je ne me contenterais pas de cela. Avant de sortir dans l'espace, je serais prêt, avec cet article, j'aurais trouvé dans mes recherches à remercier pour cela. Je chargerais un fichier texte qui contient déjà "HELP!" en elle, et avoir un programme qui pourrait écrire ma position de coordonnées en utilisant les dernières données de satellite de suivi que nous avons dans ce fichier. Ce programme que j'appellerais "hlp.c", donc ça irait:
7 touches:
c Home h l p . Enter
Je me rends compte que je pourrais raccourcir le nom de mon fichier, mais personne ne veut diffuser sa position par accident en tapant Het Enter, surtout si le programme alerte également les autorités (un peu comme appeler le 911 lorsque vous n'avez pas d'urgence?) choisissez un nom de fichier à 3 lettres, et nous supposerons que nous devons toujours avoir des extensions de fichier avec au
.
moins 1 caractère. De plus, le nommerhlp
au lieu dehelp
signifie que nous évitons d'obtenir ces méchantes fonctionnalités d'aide intégrées lorsque nous sommes sur le point de mourir dans un trou noir. Je me rends compte que je pourrais peut - être même taper omettez le .cen passant simplement h l p Enter, mais de cette façon j'éviter ces méchantsPlease supply file extension
ouCannot find hlp
des erreurs quand je suis sur le point de me faire sucer dans un trou noir. "Les ordures, les ordures", après tout, sera toujours une norme à l'avenir.Donc mon graphique ressemblerait à ceci:
Et cela serait également facile à retenir, car le seul «retard» est de taper en cpremier. Le reste ressemble au nom du fichier.
la source
hlp.c
C
help.exe
(ouhelp.out
) pour exécuter le fichier de code compilé. Et enfin, si vous contournez les règles et utilisez tellement les failles, pourquoi ne pas simplement appeler un fichierh.c
?.c
fichier était qu'il pouvait s'agir de CSCRIPT, et non d'un code C réel qui nécessiterait le compilateur. Avoirh.c
pu signifier en essayant de taper le nom d'un autre fichier, avec seulement 1 caractère dans le nom, qu'il est accidentellement appelé à la place d'un autre fichier - je l'ai déjà expliqué. Quel que soit le code qui se trouvait dans le.c
fichier, que ce soitConsole.Log("HELP!")
,Console.WriteLine("HELP!")
etc., est largement hors de propos, d'autant plus qu'il allait également inclure du code pour s'interfacer avec les satellites afin d'obtenir une correction de coordonnées - quelque chose dont je suis sûr à l'avenir sera ouvert la source.HELP!
, comme je l'ai mentionné avant Kirby, et seulement moins, comme 9, si la capitalisation et l'utilisation de Shift n'avaient pas d'importance et que nous n'avions pas besoin d'avoir un caractère avant ou aprèsHELP
, comme avec le point d'exclamation, ou dans le cas de Kirby, devoir taper une clé comme unp
ou*
pour lancer le programme.help.exe
ethelp.out
ne fonctionnerait pas avec le trou noir déchirant les clés. Lee
serait parti au moment oùexe
est venu, et let
est parti en essayant de taperout
. Vous pouvez taper let
dansout
, tout d' abord, puis appuyez sur Accueil et tapez laHELP
partie, mais si vous pouvez conserver l'extension à 1 caractère, pourquoi pas vous?