Es ist das Jahr 87.539.319 und das einsame Gehen in den Weltraum ist mittlerweile an der Tagesordnung. Viele Menschen reisen allein in den Weltraum, angetrieben von einem Jetpack auf dem Rücken, und programmieren ihren Kurs mit einem PC und einer Tastatur, während sie unterwegs sind.
Du bist eine solche Person; Sie waren auf einem schönen, friedlichen Weltraumspaziergang unterwegs, als Sie plötzlich von der Schwerkraft eines schwarzen Lochs gefangen wurden!
Wenn Sie sich diesem Schwarzen Loch nähern und immer schneller nach innen stürzen, erkennen Sie, dass Ihre einzige Überlebenschance darin besteht, eine Notmeldung zu senden, und hoffen, dass ein nahe gelegenes Schiff kommt, um Sie zu retten.
Also brechen Sie Ihre Tastatur aus und beginnen, ein Programm wegzuschreiben.
Ihr Programm kann in einer beliebigen Sprache sein und muss HELP!
auf stdout gedruckt werden (Ihr PC überträgt alles stdout weit in die Tiefe des Weltraums).
Da Sie sich jedoch in der Nähe eines schwarzen Lochs befinden, wird Ihre Tastatur langsam in Stücke gerissen!
Angenommen, Sie verwenden eine QWERTZ-Tastatur wie die folgende und das schwarze Loch befindet sich links von Ihnen.
Denken Sie daran, dass Links- und Rechtsverschiebung zwei verschiedene Tasten sind.
Nach jedem Tastendruck wird die am weitesten links liegende Reihe Ihrer Tastatur (Tasten, die durch die am weitesten links liegende rote Linie verdeckt sind) abgerissen und in das schwarze Loch geworfen!
Also, Ihr erster Tastendruck eines beliebige Taste auf der Tastatur sein könnte, aber von da an keinem der ganz links Tab , Caps, Shift, Ctrloder `Tasten verwendet werden können, überhaupt . (r-shift und r-ctrl können weiterhin verwendet werden)
Nach dem nächsten Tastendruck, die Tasten 1, Q, A, Zund Altwerden in den Abgrund geschleudert, und danach nicht mehr verwendet werden können. Danach verlieren Sie Space, X, S, W, 2und so weiter.
Natürlich möchten Sie Ihr Programm so schnell wie möglich abschließen, damit die Rettungszeit verlängert wird. Daher ist dies Code-Golf, und das kürzeste Programm beim Drücken von Tasten gewinnt!
Jede Antwort sollte eine Liste von Tastendrücken enthalten. Wenn meine Antwort also dieses Programm war (in der Sprache squardibblyack)
!HELP\.
Eine Keylist könnte so aussehen:
Shift!HELP Release Shift \.
Länge: 8
Ich mache mir Sorgen, dass diese Herausforderung zu schwierig sein könnte, aber ich würde gerne die Art der Antworten sehen, die eingereicht werden!
quelle
print
STDOUT qualifiziert?Antworten:
CJam, 11 Tastenanschläge
Der Code ist
und die schlüsselliste ist
Shift"HELP*") Release Shift 9-
und hier ist eine Demonstration, wie es aussieht:
Und so funktioniert der Code:
Probieren Sie den Code hier aus
quelle
"HELP*")9-[]+''+
. Ich kann die letzten vier nicht tippen.E
, es sieht so aus, als würde er in den Abgrund geraten!rs , 10 Tastenanschläge (setzt voraus, dass der Benutzer Nano verwendet)
Oder ein gleichwertiger Editor, in dem Shiftkein Text ausgewählt wird.
Dies ist eigentlich keine Programmiersprache,
sed
kann aber für Code Golfrs
verwendet werden.Right Shift ! Left E Left H Right L P Enter
Es ersetzt nur die leere Zeichenfolge durch "HILFE!" Und gibt sie effektiv auf dem Bildschirm aus. Etwa gleichbedeutend mit dem sed-Skript:
Der coole Teil ist, dass
rs
automatisch^/
ein Ersetzungsmuster eingefügt wird, bei dem das Trennzeichen (/
) nicht gefunden wird. Praktisch zum Einrücken von Code.quelle
Enter
das auch ein Schlaganfall ist. 10 Schläge.Ich glaube , die schnellste in jedem Skript getan werden könnte Randoms 11 mit Pyth, da jede Sprache verlangen , wird einige Zeichen, wie „p“ oder ein Anführungszeichen oder Sternchen oder so etwas, dann das Wort
HELP!
, und das Egeht zu gehen schnell, dh zusätzliche Tastendrücke zum Zurückbewegen des Cursors vor Edem Einfügen H, wie er es vorgefunden hat, und dann wieder vorwärts für Lund P.Wenn Sie etwas haben , das ein Befehlswort erfordert, wie
disp
oderecho
, würden Sie einen Raum zu tun haben , bevor es abgerissen wird, das Shiftund !dann mit dem HomeSchlüssel zu Ihrem Wort zu starten, und die Pfeiltasten als Zufall für beschriebenHELP
. Aber Sie werden sich so lange zurechtfinden, bis Sie nur noch angesaugt sind oder die Schlüssel verlieren, die Sie zu schnell benötigen, um einen dieser Schritte auszuführen. Es gibt nur maximal 14 Zeichen und das setzt voraus, dass Ihr letztes \oder ist |. Sie brauchen nur 10, um Folgendes zu tunHELP!
:SHIFT ! HOME E LT ARROW H RT ARROW L P ENTER
Das definierende
"
oder*
oderP
würde kurz vor dem gedrückt werden H. Also muss 11 die schnellste sein. Oder 9, wenn wir das Ausrufezeichen weglassen und alles großschreiben und kein einzutippendes Symbol haben.Aber nein, ich, ein Internet-Historiker im Jahr 87.539.319 und paranoid von Außerirdischen und dem verrückten Meteoritenschauer, geschweige denn dem Schwarzen Loch, würde ich mich nicht damit zufrieden geben. Bevor ich Weltraumspaziergang machte, war ich darauf vorbereitet, mit diesem Artikel, den ich in meinen Recherchen gefunden hätte, dafür zu danken. Ich würde eine Textdatei laden, die bereits "HILFE!" und ein Programm haben, das meine Koordinatenposition unter Verwendung der neuesten Satellitenverfolgungsdaten, die wir in dieser Datei haben, schreiben kann. Dieses Programm würde ich "hlp.c" nennen, so würde es gehen:
7 Tastenanschläge:
c Home h l p . Enter
Ich weiß , ich könnte meine Dateinamen kürzer machen, aber niemand will ihre Position durch Zufall durch Eingabe auszustrahlen Hund Enter, vor allem , wenn das Programm auch eine Warnung an die Behörden (ein wenig wie der Aufruf 911 , wenn Sie nicht einen Notfall haben?) , So lassen sie Gehen Sie mit einem 3-Buchstaben-Dateinamen, und wir gehen davon aus, dass wir noch Dateierweiterungen mit
.
mindestens 1 Zeichen haben müssen. Wenn wir eshlp
stattdessen benennen,help
vermeiden wir es, diese fiesen, integrierten Hilfefunktionen zu erhalten, wenn wir im Begriff sind, in einem Schwarzen Loch zu sterben. Ich weiß , ich könnte sogar möglicherweise auslassen die Eingabe .cvon nur tun h l p Enter, aber auf diese Weise ich jene bösen vermeidenPlease supply file extension
oderCannot find hlp
Fehler, wenn ich kurz davor bin, in ein schwarzes Loch gesaugt zu werden. "Müll rein, Müll raus" wird auch in Zukunft ein Standard sein.So würde meine Grafik aussehen:
Und das wäre auch leicht zu merken, da die einzige "Rückständigkeit" darin besteht, czuerst zu tippen . Der Rest ist genau wie der Dateiname.
quelle
hlp.c
C
help.exe
(oderhelp.out
), um die kompilierte Codedatei auszuführen. Und schließlich, wenn Sie die Regeln biegen und die Schlupflöcher so sehr ausnutzen, warum nicht einfach eine Datei mit dem Namenh.c
?.c
Datei war, dass es sich um CSCRIPT handeln könnte, nicht um tatsächlichen C-Code, der den Compiler erfordern würde. Wenn ichh.c
versucht habe, den Namen einer anderen Datei mit nur 1 Zeichen im Namen einzugeben, könnte dies bedeuten, dass sie versehentlich anstelle einer anderen Datei aufgerufen wird - das habe ich bereits erklärt. Was auch immer Code, der war in der.c
Datei, ob es warConsole.Log("HELP!")
,Console.WriteLine("HELP!")
usw., ist weitgehend irrelevant, zumal es würde auch Code - Schnittstelle mit Satelliten umfassen , um ein Update koordinieren bekommen - etwas , was ich bin sicher , dass in der Zukunft offen Quelle.HELP!
, wie ich sagte vor Kirby und nur weniger, wie 9, wennHELP
Groß- und Kleinschreibung und Shift keine Rolle spielten und wir kein Zeichen vorher oder nachher haben mussten , wie zum Beispiel mit dem Ausrufezeichen oder in Kirbys Fall, einen Schlüssel eingeben zu müssen Zeichen, wie einp
oder*
das Programm zu initiieren.help.exe
undhelp.out
würde nicht funktionieren, wenn das Schwarze Loch die Schlüssel zerreißt. Dase
würde mit der Zeit verschwunden seinexe
, und dast
ist verschwunden, wenn man versucht zu tippenout
. Sie könnten geben Siet
inout
, zuerst, dann Start drücken und anschließend den TypHELP
Teil, aber wenn Sie die Erweiterung auf 1 Charakter behalten konnte, warum würden Sie nicht?