Dies ist eine Herausforderung für Bullen und Räuber . Beantworten Sie hier, wenn Sie ein Polizist (Kreuzworträtselhersteller) sind, die Begleiterfrage, wenn Sie ein Räuber (Kreuzworträtsellöser) sind. Sie können beide Rollen übernehmen.
Cops (Puzzler)
Ihre Aufgabe ist es, ein 10 × 10- Kreuzworträtsel zu schreiben , bei dem anstelle von Wörtern oder Phrasen Codeausschnitte die Lösung für Hinweise darstellen. Jeder Hinweis ist eine nicht leere Folge von Zeichen, sodass durch Ausführen des Code-Snippets, auf das er verweist, die Folge auf stdout gedruckt wird.
Ihr Beitrag muss drei Dinge enthalten:
- Ihr leeres 10 × 10-Kreuzworträtselgitter, das
#
für Dunkelheiten ( Hinweisseparatoren ) und_
für Lichter (auszufüllende Zellen) verwendet wird.- Jede horizontale oder vertikale Folge von 2 oder mehr Lichtern (begrenzt durch Dunkelheit oder den Gitterrand) ist ein Eintrag, für den Sie einen Hinweis schreiben müssen. Der Einfachheit halber sollten Sie diese wie gewohnt nummerieren (von links nach rechts, von oben nach unten), indem Sie
_
am Anfang jedes Eintrags eine eindeutige Zeichenkennung (z. B. 1, 2, ..., A, B) eingeben , ...). - Ihr Gitter kann eine beliebige Anzahl von Dunkelheiten aufweisen.
- Ihr Raster kann eine beliebige Anzahl von Hinweisen enthalten.
- Horizontale Einträge werden immer von links nach rechts und vertikale von oben nach unten gelesen.
- Jede horizontale oder vertikale Folge von 2 oder mehr Lichtern (begrenzt durch Dunkelheit oder den Gitterrand) ist ein Eintrag, für den Sie einen Hinweis schreiben müssen. Der Einfachheit halber sollten Sie diese wie gewohnt nummerieren (von links nach rechts, von oben nach unten), indem Sie
- Eine Liste mit Hinweisen, die jeden Eintrag in Ihrem Kreuzworträtsel enthält.
- Hinweise müssen mindestens 1 und höchstens 10 Zeichen enthalten.
- Wenn Ihre Hinweise Leerzeichen enthalten, stellen Sie sicher, dass diese beim Formatieren Ihres Beitrags offensichtlich sind.
- Code-Schnipsel für Kopf- und Fußzeile , jeweils höchstens 20 Zeichen.
- Diese werden jeweils vor und nach einem Lösungsschnipsel ausgeführt und können beim Umbenennen langer eingebauter Funktionen und dergleichen hilfreich sein.
Das Verfahren, um sicherzustellen, dass ein Hinweis mit dem entsprechenden Code-Snippet übereinstimmt, ist:
- Verketten die Header, das Snippet und die Fußzeile:
[header][snippet][footer]
. - Führen Sie dies als normales Programm aus (unabhängig von früheren Läufen) und überprüfen Sie, was auf stdout gedruckt wurde.
- Wenn dies mit dem Hinweis übereinstimmt, ist das Snippet eine gültige Lösung.
Der Einfachheit halber dürfen Sie nur druckbare ASCII-Zeichen (Hex-Codes 20 bis 7E) verwenden. Die Kopf- und Fußzeile können auch Tabulatoren und Zeilenumbrüche enthalten.
Zusätzliche Bemerkungen
- Für jedes Snippet sollte das Ausführen
[header][snippet][footer]
auf einem anständigen modernen Computer nicht länger als eine Minute dauern . - Sie müssen Ihre Programmiersprache (und Version) angeben.
- Sie dürfen keine gängigen Hashing-Algorithmen verwenden.
- Sie dürfen keine externen Bibliotheken verwenden.
- Alles in Ihrem Code muss deterministisch und zeitinvariant sein und keine Netzwerkverbindung erfordern.
#
und_
kann in Snippets (oder anderswo) vorkommen.- Sie können einige der Zeichen im Kreuzworträtsel aufdecken, wie es COTO getan hat . Sie zählen immer noch als Lichter. Räuber müssen diese nicht benutzen, sie sind nur nette Hinweise.
Beispiel
Ein einfaches Beispiel mit Python 3. Rubrik: p=print;t=5;
. Keine Fußzeile.
Ungelöstes Gitter:
##########
1___2___##
_###_#####
_###_#####
_###_#####
####_#####
####_#####
###3______
####_#####
####_#####
Hinweise:
ACROSS
1: 8
3: A!
DOWN
1: 7
2: 10
Gültige Lösung:
##########
print(8)##
(###+#####
7###=#####
)###5#####
####;#####
####p#####
###p('A!')
####t#####
####)#####
Räuber (Löser)
Ihre Aufgabe ist es, die Kreuzworträtsel der Polizei zu lösen. Sie müssen genau die Programmiersprache verwenden, in der das Kreuzworträtsel angegeben wurde. Andernfalls ist jede Lösung gültig, die allen Hinweisen entspricht.
Möglicherweise lösen Sie Ihre eigenen Kreuzworträtsel nicht und versuchen, die anderen Kreuzworträtsel nur einmal zu beantworten.
Denken Sie daran, Ihre Lösungen in der Begleitfrage zu posten .
Wertung
Wird ein Kreuzworträtsel innerhalb von 72 Stunden gelöst, läuft es nicht mehr. Sobald ein Kreuzworträtsel 72 Stunden lang ungelöst ist, wird es als immun eingestuft und der Ersteller kann die Lösung veröffentlichen (indem er seinen Beitrag bearbeitet und als immun markiert).
Der siegreiche Polizist ist der Benutzer, der das Immunkreuzworträtsel mit den geringsten Dunkelheiten eingereicht hat ( #
). Bei Stimmengleichheit gewinnt die am höchsten bewertete Einreichung. Die Lösung muss bereitgestellt werden, damit die Antwort akzeptiert wird.
Der siegreiche Räuber ist der Benutzer, der die meisten Kreuzworträtsel löst. Der Tie-Breaker ist die Summe der Mehrstimmen in der Begleiterfrage .
quelle
sha512sum <<<"
Fußzeile:"|head -c10
(in Bash).Antworten:
JavaScript, 0 dunkle - immun
Hier ist die Lösung für Sie alle:
Hinweise
Lassen Sie mich wissen, wenn Sie denken, dass es irgendwelche Ergebnisse gibt, die ich falsch berechnet habe.
quelle
CJam, 41 darks - gelöst von Martin Büttner
Keine Kopfzeile, Fußzeile oder reservierte Felder. Informieren Sie mich über mögliche Fehler.
Die Lösung, an die ich ursprünglich gedacht hatte, hatte kein Leerzeichen - es ist nicht die, die Martin Büttner gefunden hat.
Tafel
Hinweise
Über
Nieder
Viel Glück!
quelle
C - 26 Dunkel, 5 reserviert - gelöst von feersum
Header
Fußzeile
Hinweise
quelle
MATLAB - 28 Darks
Gelöst von feersum
Boards
Header
Fußzeile
Hinweise
Über
2
-1i
eye(3)
0
sqrt(-1)
1/25000
0
[0;0;0]
Nieder
log(1i)
100
10^16
[2,2;2,2]
512
inv(1i)
zeros(3)
Beachten Sie, dass ich in den Hinweisen für dieses Rätsel einige Änderungen vorgenommen habe. Da MATLAB-Ausgaben ausnahmslos ausführlich sind (z. B. auch wenn die imaginäre Einheit
1i
mehr als 10 Zeichen [0 + 1.0000i
] enthält) und sich je nach Standardausgabeformat ändern, handelt es sich bei den Hinweisen um einfache Ausdrücke, deren angezeigte Ausgabe der der entsprechenden Lösungen entspricht .Mit anderen Worten, Sie können davon ausgehen, dass es sich um einen tatsächlichen Hinweis handelt
disp( CLUE )
, bei demCLUE
es sich um den 10-stelligen oder weniger-Hinweis in den obigen Listen handelt.Hoffentlich macht es Calvin nichts aus. Ich glaube nicht, dass dies gegen den Geist der Hinweislängenregel verstößt, die Kreuzworträtselersteller wahrscheinlich daran hindert, extrem schwer zu generierende Lösungen (dh Wörter) einzufügen.
Schlüssel
quelle
Python
Gelöst von feersum
Hier ist einer, um uns anzufangen. Ich habe Python 2.7.8 verwendet, um die Hinweise zu erhalten. Viel Glück :)
Ich habe das letzte Snippet enthüllt, seitdem Hashing nicht mehr erlaubt ist. Außerdem hat das Gitter 36 Dunkeltöne (ich habe die Wertung verpasst, als ich es gemacht habe).
Ich habe ein paar weitere Charaktere aufgedeckt, um es einfacher zu machen, aber auch andere Lösungen sind in Ordnung.
Kreuzworträtsel:
Hinweise:
Header:
Fußzeile:
quelle
p
nach jedem Snippet richtig?Javascript ES4 - 37 Darks, 10 Reserviert
Gelöst von bazzarg
Boards
Header
Fußzeile
Hinweise
Über
51
true
8.14159265
..."90"
0
-10
"HI"
Nieder
5
"2pac"
3072
false
Beachten Sie, dass ich eine zweite Darstellung der Tafel beigefügt habe, die als "reserviert" markiert ist, um zehn Lichter mit bereits ausgefüllten Zeichen anzuzeigen. Diese sollen dem Löser helfen und die möglichen Lösungen einschränken / disambiguieren. Ich bin mir nicht sicher, ob Calvin diese als Dunkelheit oder Licht betrachten möchte.
Ich habe die zwei getrennten Darstellungen verwendet, da einige der ausgefüllten Zeichen Zahlen sind und möglicherweise für Hinweisnummern und zum allgemeinen Entstören der Tafel verwechselt werden.
In keiner der Lösungen sind Leerzeichen enthalten. Sie können die Lichter jedoch auch mit Leerzeichen füllen, wenn diese funktionieren.
Ursprüngliche Lösung
Wie sich herausstellt, hat Bazzargs Lösung für 9 across
-
die falsche Stelle, aber der Hinweis sollte10
stattdessen lauten-10
(der Hinweis und die Antwort waren ursprünglich unterschiedlich, und ich habe hastig gewechselt). Daher werden wir nur sagen, dass in diesem Fall zwei Fehler richtig sind. ;)quelle
Clues must contain at least 1 and no more than 10 characters.
[object Window]
(was sowieso ungültig ist, wie Benutzer N hervorgehoben hat) klingt, als ob es davon abhängt, in einer bestimmten Umgebung ausgeführt zu werden. Wenn dies zutrifft, sollte das nicht angegeben werden?8.141592653589793
und[object Window]
sind zu lang.Python 2, 0 darks - Immun
Python 2 ist nur wegen der
print
in der Fußzeile. In Python 3 sollte es genauso funktionieren, wenn Sie dieprint
Anweisung ändern .Ich hatte Spaß daran und bin insgesamt zufrieden und ein bisschen aufgeregt über das Endergebnis.
Lassen Sie mich wissen, wenn Sie meinen Footer für zu grausam halten (wenn ich wüsste, dass Sie auf ein Programm verzichten könnten, um es brutal zu erzwingen, würde ich die Grausamkeit beseitigen).
Header:
Fußzeile:
Hinweise:
Über
Nieder
Lösung
quelle