Code-Kreuzworträtsel


22

Dies ist eine Herausforderung für . 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:

  1. 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.
  2. 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.
  3. 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:

  1. Verketten die Header, das Snippet und die Fußzeile: [header][snippet][footer].
  2. Führen Sie dies als normales Programm aus (unabhängig von früheren Läufen) und überprüfen Sie, was auf stdout gedruckt wurde.
  3. 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 .


1
Sie langweilen sich bereits mit Code Tetris?
Feersum

3
@feersum Niemand löst die. Ich hoffe, dass dies für die Räuber einfacher ist.
Calvins Hobbys

9
Kopfzeile: sha512sum <<<"Fußzeile: "|head -c10(in Bash).
Jimmy23013

1
@ user23013 Huch. Ich glaube, ich werde das Haschisch verbieten.
Calvins Hobbys

2
@ Rodolvertice Allerdings kann man auch sagen, dass es sofort gelöst wurde ... vielleicht hast du recht. Aber ich stimme zu, dass es zu spät ist, das zu ändern (ein gutes Puzzle ohne Dunkelheit zu machen, ist nicht gerade trivial).
Calvins Hobbys

Antworten:


5

JavaScript, 0 dunkle - immun

 __________
123456789A
| B |
| C |
| D |
| E |
| F |
| G |
| H |
| I |
| J |
 ----------

Hier ist die Lösung für Sie alle:

 __________
| ~ 709-51 + 90 |
| -0x33-31 & 8 |
| 8-42 ^ 07 * 70 |
| 306% 4 + 0x34 |
| 0xb1204% 51 |
| -1 + 2 + x> h-- |
| '4' * 32 >> 07 |
| Math.E> 2.7 |
| 8 / 2-1-7 * 22 |
| '6'-025036 |
 ----------
Header: var h=8,x=5;console.log(

Footer: );

Hinweise

Über
1. -671
B. 8
C. -460
D. 54
E. 33
F. falsch
G. 1
H. wahr
I. -151
J. -10776

Nieder
1. NaN
2. 15
3. 1131t2
4. 64
5. -48
6. 49
7. 6
8. wahr
9. 8
A. 315

Lassen Sie mich wissen, wenn Sie denken, dass es irgendwelche Ergebnisse gibt, die ich falsch berechnet habe.


3
Sind Sie sicher, dass Sie Across und Down nicht vertauscht haben?
stolzer Haskeller

3

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

#5###6#7__
#4_3____##
1##_#_#_#A
2____##_#_
_##_##9___
_##_#E#_#_
_#C#8_____
##_#_####_
##B_______
D__#_####_

Hinweise

Über

2: [[4 3]]
4: 24717
7: 32
8: E
9: "" (there is ONE trailing space after the quotes)
B: "m
D: 124

Nieder

1: [2 2 2 3]
3: 3010936384
5: 2017
6: "18"
7: ' "\"\""
8: !{}
A: -3u3
C: -1
E: Stack: ""

Viel Glück!


4
Gelöst Danke für die Herausforderung, das hat wirklich Spaß gemacht! :)
Martin Ender

3

C - 26 Dunkel, 5 reserviert - gelöst von feersum

   Clue #          Reserved
+----------+     +----------+
|1_2__3_#4_|     |"      #  |
|_#_##_#5_#|     | # ## #  #|
|6___7_8___|     |      8   |
|_#_#9____#|     | # #     #|
|_#AB_#C___|     | #   #    |
|D_#E_____#|     |  #      #|
|_#F#_#_#_#|     | # # # # #|
|_#GH__#I__|     | #    #   |
|_##J_#K#_#|     | ##  # # #|
|L___#M____|     |2 * # _   |
+----------+     +----------+

Header

z[4]={9};main(_){_=

Fußzeile

;printf("%d",_);}

Hinweise

ACROSS:
1. 48
4. -8
5. -2
6. 0
9. 73
A. 9
C. 0
D. 5
E. 0
G. -2
I. 0
J. 0
L. 18
M. 6247483

DOWN:
1. 45
2. 7680
3. 22
4. -97
5. 0
7. -1073741824
8. 8
B. 0
F. 42
H. 0
K. -2

Was ist 5 unten?
Feersum

@feersum 5 down ist 0 (Antwort bearbeitet)
es1024

Kompiliert es mit gcc und läuft ohne Argumente?
Grc

@ grc ja, das tut es
es1024


3

MATLAB - 28 Darks

Gelöst von feersum

Boards

  CLUE #         RESERVED
 __________      __________
|12 3 4 5  |    |    [     |
|# # # # ##|    |#s# # # ##|
|6   # #7 8|    |    # #   |
|# # # # # |    |# # # # # |
|9 A       |    |6  7  y   |
|#B  # # # |    |#   # # # |
|C         |    |        g |
|# # ### # |    |# # ### # |
|# # ##D # |    |# # ##  # |
|E         |    |d         |
 ¯¯¯¯¯¯¯¯¯¯      ¯¯¯¯¯¯¯¯¯¯

Header

g=4;o=magic(3);disp(

Fußzeile

);

Hinweise

Über

  • 1 2
  • 6 -1i
  • 7 eye(3)
  • 9 0
  • B sqrt(-1)
  • C 1/25000
  • D 0
  • E [0;0;0]

Nieder

  • 2 log(1i)
  • 3 100
  • 4 10^16
  • 5 [2,2;2,2]
  • 8 512
  • EIN inv(1i)
  • D 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 1imehr 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 dem CLUEes 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

    KEY
 __________
|max([1 2])|
|#s#1#0#*##|
|1i^3#*#o\o|
|#n#+#1#n#(|
|6 -7+eye&1|
|#(i)#1#s# |
|.1 ^ 5*(g)|
|#)#2### #^|
|#*#/##~2# |
|diag(-o)>3|
 ¯¯¯¯¯¯¯¯¯¯ 


3

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:

1_234##5##         * . ## ##
_#6_______         #  e /   
_#7__##_##         # * ##6##
8________#        3   %    #
##_#_##_##        ##5# ## ##
#9________        #a   *   b
##_#_##_##        ## # ## ##
A________#        b   7  1 #
##_####_##        ## #### ##
#hash('9')        #hash('9')

Hinweise:

ACROSS
1: 440380.9
6: 12328.7671
7: 72
8: 4519217.0
9: 79920L
A: 1.55826556
B: 7296021944

DOWN
1: 1211477643
2: 17353.0
3: 5.4
4: 1719.0
5: 7514613.78

Header:

a=49481
b=97381
x=

Fußzeile:

print`x`[:10]

Befindet sich die Fußzeile in einer eigenen Zeile oder ist sie pnach jedem Snippet richtig?
Calvins Hobbys

@ Calvin'sHobbies Die Fußzeile beginnt in einer neuen Zeile.
Grc

Ist A-across besonders teuflisch? Ich habe ein Gitter, das für alles außer diesem funktioniert.
Feersum

@feersum Es ist ein mathematischer Ausdruck wie die anderen, aber es könnte ziemlich schwierig sein. Denken Sie daran, dass die Ausgabe auf 10 Zeichen gekürzt wird.
Grc


3

Javascript ES4 - 37 Darks, 10 Reserviert

Gelöst von bazzarg

Boards

   CLUE #         RESERVED
 __________      __________
|1  2 ###3#|    |     ### #|
| ## #45   |    | ## #I   4|
| ## ## # #|    |:##-## # #|
|6        #|    |         #|
| ## ## # #|    | ## ##.# #|
|7         |    |         ]|
| ## ## ###|    | ## ## ###|
|8   #9    |    | +  #   - |
| ## ## ###|    |'## ## ###|
| ##A      |    | ##   4   |
 ¯¯¯¯¯¯¯¯¯¯      ¯¯¯¯¯¯¯¯¯¯

Header

a=3;I=9;t=

Fußzeile

;console.log(t);

Hinweise

Über

  • 1 51
  • 4 true
  • 6 8.14159265...
  • 7 "90"
  • 8 0
  • 9 -10
  • EIN "HI"

Nieder

  • 1 5
  • 2 "2pac"
  • 3 3072
  • 5 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

__________ |{},51###6#| |a##+#I/a<4| |:##-##[#<#| |5+Math.PI#| |}##+##.#+#| |[I+"0"][0]| |'##p##/###| |a+-a#a=~-I| |'##c##=###| |]##"\x48I"| ¯¯¯¯¯¯¯¯¯¯

Wie sich herausstellt, hat Bazzargs Lösung für 9 across -die falsche Stelle, aber der Hinweis sollte 10stattdessen 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. ;)


1
Interessante Vorstellung über die reservierten Zeichen. Ich werde sie nicht zu Dunkeln machen, weil die Leute dann noch mehr Anreize hätten, sie nicht zu benutzen.
Calvins Hobbys

1
Ich bin auf dasselbe Problem gestoßen, als ich ein Kreuzworträtsel gemacht habe, aber das ist nicht gültig. Clues must contain at least 1 and no more than 10 characters.
Jimmy23013

Ich kenne kein JavaScript, aber so etwas [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?
Feersum

Benutzer 23013 ist richtig. 8.141592653589793und [object Window]sind zu lang.
Calvins Hobbys

Ich kann den Ausdruck für 6-across abschneiden. Es sollte offensichtlich sein, wie die Zahl lautet (und wie sie generiert wird), unabhängig von der Anzahl der Dezimalstellen. Was 9-across betrifft, ist die Ausgabe tatsächlich browserspezifisch (obwohl ich glaube, dass das von mir verwendete Format allen fünf Hauptbrowsern gemeinsam ist). Ich werde die eigentliche Antwort in diesem Fall ändern.
COTO

1

Python 2, 0 darks - Immun

Python 2 ist nur wegen der printin der Fußzeile. In Python 3 sollte es genauso funktionieren, wenn Sie die printAnweisung ä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).

 __________
|123456789A|
|B         |
|C         |
|D         |
|E         |
|F         |
|G         |
|H         |
|I         |
|J         |
 ----------

Header:

b=7;r=3;e=6;a=.1;d=

Fußzeile:

;print 2*str(d)[::3]

Hinweise:

Über

1. 74
B. 282.e2
C. 77
D. 8
E. 94
F. 247351.862e1
G. 99
H. -5312-5312
I. -32
J. 300000

Nieder

1. 61000
2. 251
3. 09333.8333
4. 7878
5. -70
6. -0045.164
7. 88
8. 61225
9. -350
A. 69971

Lösung

__________ |r+111-37-r| |'2.48e+22'| |6+765-0*56| |30/7%140*2| |0xe6b/0x27| |18**+9.1-9| |047--01551| |04/-7.0131| |0-1512%989| |'30000700'| ----------

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.