Quelque chose ne va pas avec votre clavier. La Shiftclé a son propre esprit. Chaque fois que vous tapez un caractère, vous ne savez pas s'il sortira décalé ou non (bien que ce soit 50-50). Outre les touches de caractères standard, rien sur le clavier n'est fonctionnel. Il n'y a pas de souris ou d'autres moyens de saisie.
D'une manière ou d'une autre, vous savez que le seul moyen de remédier à la situation est d'écrire un programme qui Dear Computer, please stop giving me shift!
génère des sorties vers stdout. Heureusement, votre IDE est ouvert et vous êtes capable de lancer un programme, mais vous ne saurez évidemment pas quels caractères seront déplacés.
Quelle séquence d'appuis au clavier utiliseriez-vous pour écrire un programme qui a la meilleure chance possible de travailler du premier coup?
Détails
Vous utilisez un clavier QWERTY standard . Vous pouvez donc appuyer sur une touche de 50 caractères.
Versions non modifiées (47 uniquement):
`1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./
Versions décalées (47 uniquement):
~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?
Les 3 dernières touches sont Enter, Tabet Space, qui sont les mêmes décalées et non décalées.
Une séquence de N de ces caractères a 2 N - (nombre de caractères d’espacement des blancs) ainsi qu’elle aurait été sortie si vous les aviez tapés avec votre clavier défectueux. Par exemple, taper A Space mpeut avoir cédé
a m
ou A m
ou a M
ou A M
.
Écrivez un programme pour ces caractères et examinez toutes ses combinaisons de décalage possibles de 2 N - (nombre d'espaces) . Plus il y a de combinaisons, Dear Computer, please stop giving me shift!
mieux c'est. Votre score est le nombre de combinaisons de travail (programmes valides) divisé par le nombre total de combinaisons. Le score le plus élevé gagne.
Remarques
- Pour les programmes valides, imprimer avec précision
Dear Computer, please stop giving me shift!
et rien d’autre sur stdout ne devrait être le seul effet secondaire. - Les programmes valides ne doivent pas prendre d’entrée.
- Les programmes non valides peuvent faire quoi que ce soit.
- Les commentaires peuvent être utilisés n'importe où.
- Les réponses en blanc ne peuvent pas gagner, car obtenir un score de 100% est (relativement) trivial. Vous pouvez toujours soumettre une solution Whitespace pour vous amuser.
- Votre programme doit comporter au plus 1024 caractères.
Mise à jour: modifié Stop giving me shift!
pour Dear Computer, please stop giving me shift!
permettre des réponses plus complexes. Les réponses existantes peuvent rester telles quelles, si vous le souhaitez.