C'est un défi de flics et de voleurs . 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:
- 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.
- 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
- 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.
- 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:
- Concaténer l' en- tête, l'extrait, et le pied de page:
[header][snippet][footer]
. - Exécutez-le comme un programme normal (indépendant des exécutions précédentes) et regardez ce qui a été imprimé sur stdout.
- 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 .
la source
sha512sum <<<"
:, pied de page:"|head -c10
(dans Bash).Réponses:
JavaScript, 0 obscurité - immunisé
Voici la solution pour vous tous:
Des indices
Faites-moi savoir si vous pensez qu'il y a des résultats que j'ai mal calculés.
la source
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
Des indices
À travers
Vers le bas
Bonne chance!
la source
C - 26 sombres, 5 réservés - résolu par feersum
Entête
Bas de page
Des indices
la source
MATLAB - 28 Darks
Résolu par feersum
Planches
Entête
Bas de page
Des indices
À travers
2
-1i
eye(3)
0
sqrt(-1)
1/25000
0
[0;0;0]
Vers le bas
log(1i)
100
10^16
[2,2;2,2]
512
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
1i
dé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é
la source
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:
Des indices:
Entête:
Bas de page:
la source
p
juste après chaque extrait?Javascript ES4 - 37 Darks, 10 réservés
Résolu par bazzarg
Planches
Entête
Bas de page
Des indices
À travers
51
true
8.14159265
..."90"
0
-10
"HI"
Vers le bas
5
"2pac"
3072
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
En fin de compte, la solution de bazzarg pour 9 à travers a le
-
mauvais endroit, mais l'indice était censé être10
au 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. ;)la source
Clues must contain at least 1 and no more than 10 characters.
[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é?8.141592653589793
et[object Window]
sont trop longs.Python 2, 0 sombres - Immunisé
Python 2 est uniquement à cause de
print
dans le pied de page. Cela devrait fonctionner de la même manière dans Python 3 si vous modifiez l'print
instruction.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».
Entête:
Bas de page:
Des indices:
À travers
Vers le bas
Solution
la source