Mots croisés de code

22

C'est un défi de . Répondez ici si vous êtes un flic (créateur de mots croisés), répondez à la question complémentaire si vous êtes un voleur (solveur de mots croisés). Vous pouvez jouer les deux rôles.

Flics (Puzzlers)

Votre tâche consiste à écrire un jeu de mots croisés 10 × 10 où, au lieu de mots ou d'expressions, des extraits de code sont les solutions aux indices. Chaque indice sera une séquence de caractères non vide telle que l'exécution de l'extrait de code auquel il se réfère imprimera la séquence sur stdout.

Votre message doit inclure trois éléments:

  1. Votre grille de mots croisés vierge 10 × 10, en utilisant #pour les ténèbres (séparateurs d'indices) et _pour les lumières (cellules à remplir).
    • Chaque séquence horizontale ou verticale de 2 lumières ou plus (délimitées par des ténèbres ou le bord de la grille) est une entrée pour laquelle vous devez écrire un indice. Pour plus de commodité, vous devez les numéroter de la manière habituelle (de gauche à droite, de haut en bas) en remplaçant_ le début de chaque entrée par un identifiant de caractère unique (par exemple 1, 2, ..., A, B , ...).
    • Votre grille peut avoir n'importe quel nombre d'obscurité.
    • Votre grille peut avoir un certain nombre d'indices.
    • Les entrées horizontales sont toujours lues de gauche à droite et les verticales de haut en bas.
  2. Une liste d'indices qui contient chaque entrée dans vos mots croisés, en bas et en travers.
    • Les indices doivent contenir au moins 1 et pas plus de 10 caractères.
    • Si vos indices contiennent des espaces, assurez-vous qu'ils sont évidents lorsque vous formatez votre message.
  3. Extraits de code d'en- tête et de pied de page , chacun de 20 caractères ou moins.
    • Ceux-ci s'exécutent respectivement avant et après un extrait de solution, et peuvent aider à renommer les longs intégrés et autres.

La procédure pour garantir qu'un indice correspond à son extrait de code correspondant est la suivante:

  1. Concaténer l' en- tête, l'extrait, et le pied de page: [header][snippet][footer].
  2. Exécutez-le comme un programme normal (indépendant des exécutions précédentes) et regardez ce qui a été imprimé sur stdout.
  3. Si cela correspond à l'indice, l'extrait de code est une solution valide.

Pour plus de simplicité, vous ne pouvez utiliser que des codes ASCII imprimables (codes hexadécimaux 20 à 7E). L'en-tête et le pied de page seuls peuvent également contenir des tabulations et des retours à la ligne.

Notes complémentaires

  • Pour tout extrait, l'exécution [header][snippet][footer]ne devrait pas prendre plus d'une minute sur un ordinateur moderne décent .
  • Vous devez spécifier votre langage de programmation (et sa version).
  • Vous ne pouvez utiliser aucun algorithme de hachage commun.
  • Vous ne pouvez pas utiliser de bibliothèques externes.
  • Tout dans votre code doit être déterministe, invariant dans le temps et ne pas avoir besoin d'une connexion réseau.
  • #et _peut apparaître dans des extraits (ou n'importe où ailleurs).
  • Vous pouvez révéler certains des caractères des mots croisés comme COTO l'a fait . Ils comptent toujours comme des lumières. Les voleurs ne sont pas tenus de les utiliser, ce ne sont que de bons conseils.

Exemple

Un exemple simple en utilisant Python 3. En- tête: p=print;t=5;. Pas de pied de page.

Grille non résolue:

##########
1___2___##
_###_#####
_###_#####
_###_#####
####_#####
####_#####
###3______
####_#####
####_#####

Des indices:

ACROSS
1: 8
3: A!
DOWN
1: 7
2: 10

Solution valable:

##########
print(8)##
(###+#####
7###=#####
)###5#####
####;#####
####p#####
###p('A!')
####t#####
####)#####

Voleurs (solveurs)

Votre tâche consiste à résoudre les mots croisés postés par les flics. Vous devez utiliser le même langage de programmation exact que celui utilisé pour les mots croisés, mais sinon, toute solution qui correspond à tous les indices est valide.

Vous ne pouvez pas résoudre vos propres mots croisés et vous ne pouvez tenter de répondre à chacun des autres mots croisés qu'une seule fois.

N'oubliez pas de poster vos solutions dans la question complémentaire .

Notation

Si un mot croisé est résolu dans les 72 heures, il n'est plus en cours d'exécution. Une fois qu'un mot croisé n'a pas été résolu pendant 72 heures, il est considéré comme immunisé et le créateur peut publier la solution (en modifiant son article et en le marquant comme immunisé).

Le flic gagnant est l'utilisateur qui a soumis le mot croisé immunisé avec le moins d'obscurité ( #). En cas d'égalité, la soumission ayant obtenu le vote le plus élevé l'emporte. La solution doit être publiée pour que la réponse soit acceptée.

Le voleur gagnant est l'utilisateur qui résout le plus de mots croisés. Le bris d'égalité est leur somme de votes positifs dans la question complémentaire .

Loisirs de Calvin
la source
1
Vous vous ennuyez déjà avec Code Tetris?
feersum
3
@feersum Personne ne résout ces problèmes. J'espère que celui-ci sera plus facile pour les voleurs.
Les loisirs de Calvin le
9
En-tête sha512sum <<<":, pied de page: "|head -c10(dans Bash).
jimmy23013
1
@ user23013 Yikes. Je pense que je vais interdire le hachage.
Calvin's Hobbies
2
@Rodolvertice Bien qu'encore une fois, on puisse dire qu'il a été résolu instantanément ... alors peut-être avez-vous raison. Mais je suis d'accord qu'il est trop tard pour changer cela (faire un bon puzzle sans ténèbres n'est pas vraiment trivial).
Les loisirs de Calvin le

Réponses:

5

JavaScript, 0 obscurité - immunisé

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

Voici la solution pour vous tous:

 __________
| ~ 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: );

Des indices

À travers
1. -671
B. 8
C. -460
D. 54
E. 33
F. faux
G. 1
H. vrai
I. -151
J. -10776

Vers le bas
1. NaN
2. 15
3. "1131t2"
4. 64
5. -48
6. 49
7. 6
8. vrai
9. 8
A. 315

Faites-moi savoir si vous pensez qu'il y a des résultats que j'ai mal calculés.

NinjaBearMonkey
la source
3
Êtes-vous sûr de ne pas avoir mélangé Across and Down?
fier haskeller
3

CJam, 41 darks - résolu par Martin Büttner

Aucun en-tête, pied de page ou carrés réservés. Faites-moi savoir tout bogue potentiel.

La solution que j'avais à l'origine à l'esprit n'avait pas d'espaces - ce n'est pas celle que Martin Büttner a trouvée.

Planche

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

Des indices

À travers

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

Vers le bas

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

Bonne chance!

Communauté
la source
4
Résolu. Merci pour le défi, c'était vraiment amusant! :)
Martin Ender
3

C - 26 sombres, 5 réservés - résolu par 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 * # _   |
+----------+     +----------+

Entête

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

Bas de page

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

Des indices

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
es1024
la source
Qu'est-ce que 5 down?
feersum
@feersum 5 down is 0 (réponse modifiée)
es1024
Compile-t-il avec gcc et s'exécute sans arguments?
grc
@grc oui c'est le cas
es1024
2
Solution ici
feersum
3

MATLAB - 28 Darks

Résolu par feersum

Planches

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

Entête

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

Bas de page

);

Des indices

À travers

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

Vers le bas

  • 2 log(1i)
  • 3 100
  • 4 10^16
  • 5 [2,2;2,2]
  • 8 512
  • UNE inv(1i)
  • zeros(3)

Notez que j'ai légèrement changé les choses dans les indices de ce puzzle. Étant donné que les sorties MATLAB sont invariablement verbeuses (par exemple, même l'impression de l'unité imaginaire 1idépasse 10 caractères [ 0 + 1.0000i]) et changent en fonction du format de sortie par défaut, les indices sont toutes des expressions simples dont la sortie affichée est équivalente à celle des solutions correspondantes .

En d'autres termes, vous pouvez considérer un indice réel disp( CLUE ), oùCLUE est l' 10 caractères ou moins dans les listes ci-dessus.

Espérons que Calvin ne s'en soucie pas. Je ne crois pas que cela viole l'esprit de la règle de la longueur de l'indice, qui est susceptible d'empêcher les constructeurs de mots croisés d'insérer des solutions extrêmement difficiles à générer (c'est-à-dire des mots).

Clé

    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|
 ¯¯¯¯¯¯¯¯¯¯ 
COTO
la source
2
résolu ici
feersum
3

Python

Résolu par feersum

En voici un pour commencer. J'ai utilisé Python 2.7.8 pour obtenir les indices. Bonne chance :)

J'ai révélé le dernier extrait de code, car le hachage est désormais interdit. De plus, la grille compte 36 ténèbres (j'ai raté la partie marquante quand je l'ai fait).

J'ai révélé quelques personnages supplémentaires pour le rendre plus facile, mais différentes solutions conviennent également.

Grille de mots croisés:

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

Des indices:

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

Entête:

a=49481
b=97381
x=

Bas de page:

print`x`[:10]
grc
la source
Pour clarifier, le pied de page est-il sur sa propre ligne ou est-il pjuste après chaque extrait?
Calvin's Hobbies
@ Calvin'sHobbies Le pied de page commence sur une nouvelle ligne.
grc
A-across est-il quelque chose de particulièrement diabolique? J'ai une grille qui fonctionne pour tout sauf celui-là.
feersum
@feersum C'est une expression mathématique comme les autres, mais cela pourrait être assez délicat. N'oubliez pas que la sortie est tronquée à 10 caractères.
grc
1
Solution
feersum
3

Javascript ES4 - 37 Darks, 10 réservés

Résolu par bazzarg

Planches

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

Entête

a=3;I=9;t=

Bas de page

;console.log(t);

Des indices

À travers

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

Vers le bas

  • 1 5
  • 2 "2pac"
  • 3 3072
  • 5 false

Notez que j'ai inclus une deuxième représentation du tableau marquée "réservé" pour indiquer dix lumières avec des caractères déjà remplis. Ce sont pour aider le solveur et pour restreindre / lever l'ambiguïté des solutions possibles. Je ne sais pas si Calvin veut les considérer comme des ténèbres ou des lumières.

J'ai utilisé les deux représentations distinctes car certains des caractères remplis sont des nombres et peuvent être confondus avec des indices, et pour désencombrer le tableau en général.

Il n'y a pas de caractères d'espaces dans aucune des solutions, bien que vous soyez invités à remplir les lumières avec des caractères d'espaces s'ils fonctionnent.

Solution originale

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

En fin de compte, la solution de bazzarg pour 9 à travers a le -mauvais endroit, mais l'indice était censé être 10au lieu de -10(l'indice et la réponse étaient à l'origine différents et j'ai fait le changement à la hâte). Par conséquent, nous dirons simplement que deux torts font un droit dans ce cas. ;)

COTO
la source
1
Idée intéressante sur les personnages réservés. Je ne les ferai pas compter comme des ténébreux car alors les gens seraient encore plus incités à ne pas les utiliser.
Les loisirs de Calvin le
1
J'ai rencontré le même problème lors de la création d'un mot croisé, mais ce n'est pas valide. Clues must contain at least 1 and no more than 10 characters.
jimmy23013
Je ne connais pas JavaScript mais quelque chose comme [object Window](qui est de toute façon invalide, comme l'a souligné l'utilisateur N) sonne comme si cela dépendait d'être exécuté dans un environnement spécifique. Si cela est vrai, cela ne devrait-il pas être spécifié?
feersum
L'utilisateur 23013 a raison. 8.141592653589793et [object Window]sont trop longs.
Calvin's Hobbies
Je peux tronquer l'expression pour 6 à travers. Il devrait être évident quel est le nombre (et comment le générer) quel que soit le nombre de décimales. En ce qui concerne le 9-across, la sortie est en effet spécifique au navigateur (bien que je pense que le format que j'ai utilisé est commun aux cinq principaux navigateurs). Je vais modifier la réponse réelle dans ce cas.
COTO
1

Python 2, 0 sombres - Immunisé

Python 2 est uniquement à cause de printdans le pied de page. Cela devrait fonctionner de la même manière dans Python 3 si vous modifiez l' printinstruction.

Je me suis amusé à faire cela, et dans l'ensemble, je suis satisfait et un peu excité par le résultat final.

Faites-moi savoir si vous pensez que mon pied de page est trop cruel (si je savais que vous pourriez vous abstenir d'utiliser un programme pour le forcer brutalement, je supprimerais la cruauté.) Fait amusant: les variables dans l'en-tête épellent «pain».

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

Entête:

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

Bas de page:

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

Des indices:

À travers

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

Vers le bas

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

Solution

__________ |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'| ----------

mbomb007
la source