Ce défi a été inspiré par la publicité de cette Wendy's de 1984.
Illustration de TS Rogers
Votre tâche consiste à trouver un 0xBEEF hexadécimal sur un bun binaire.
Le «boeuf» se compose du modèle suivant:
1 0 1 1 (0xB)
1 1 1 0 (0xE)
1 1 1 0 (0xE)
1 1 1 1 (0xF)
Et le «chignon» consiste en une matrice binaire 12x12, telle que:
1 1 1 0 0 1 1 1 1 1 1 0
1 1 0 1 0 0 1 0 0 0 0 0
0 1 0 0 0 1 1 1 1 1 0 1
1 0 0 1 0 0 1 0 0 1 0 0
1 0 0 1 0 1 1 0 0 1 1 1
1 1 1 1 1 1 0 0 0 0 1 0
1 1 0 1 1 1 0 0 0 0 0 1
1 0 0 1 1 1 1 0 0 0 0 1
1 0 0 1 1 1 0 1 1 1 1 1
1 1 1 1 1 0 0 1 1 1 1 1
1 0 0 0 0 1 0 1 0 1 1 1
1 1 0 0 1 1 0 0 0 0 1 1
Contribution
Votre programme ou fonction prendra la matrice binaire en entrée. Le format de la matrice est très flexible, mais il doit être clairement décrit dans votre réponse.
Par exemple:
une seule chaîne binaire, avec ou sans séparateurs entre les lignes:
"111001111110 110100100000..."
ou:
"111001111110110100100000..."
un tableau de chaînes binaires:
["111001111110", "110100100000", ...]
un tableau de nombres (chaque nombre décrivant une ligne une fois reconvertie en binaire et complétée à gauche avec des zéros):
[3710, 3360, ...]
Sortie
Les coordonnées (X, Y)
du "boeuf", (0, 0)
étant le coin supérieur gauche du chignon.
Sinon, vous pouvez utiliser des coordonnées basées sur 1 (mais pas une combinaison des deux formats, comme 0 pour X et 1 pour Y).
Pour l'exemple ci-dessus, la réponse attendue est (3, 4)
(basée sur 0) ou (4, 5)
(basée sur 1):
00 01 02 03 04 05 06 07 08 09 10 11
00 1 1 1 0 0 1 1 1 1 1 1 0
01 1 1 0 1 0 0 1 0 0 0 0 0
02 0 1 0 0 0 1 1 1 1 1 0 1
03 1 0 0 1 0 0 1 0 0 1 0 0
04 1 0 0 [1 0 1 1] 0 0 1 1 1
05 1 1 1 [1 1 1 0] 0 0 0 1 0
06 1 1 0 [1 1 1 0] 0 0 0 0 1
07 1 0 0 [1 1 1 1] 0 0 0 0 1
08 1 0 0 1 1 1 0 1 1 1 1 1
09 1 1 1 1 1 0 0 1 1 1 1 1
10 1 0 0 0 0 1 0 1 0 1 1 1
11 1 1 0 0 1 1 0 0 0 0 1 1
Encore une fois, tout format raisonnable fonctionnerait aussi longtemps que cela est spécifié dans votre réponse. Veuillez également indiquer si vous utilisez des coordonnées basées sur 0 ou sur 1.
Règles
- Vous pouvez supposer en toute sécurité qu'il y a toujours exactement un "boeuf" sur le pain. Votre code n'est pas requis pour prendre en charge les cas comportant plus d'un boeuf ou aucun boeuf.
- Le motif bœuf apparaîtra toujours comme décrit. Il ne sera jamais tourné ou reflété de quelque manière que ce soit.
- C'est du code-golf, donc la réponse la plus courte en octets est gagnante. Les échappatoires standard sont interdites.
Cas de test
Dans les cas de test suivants, chaque ligne de la matrice est exprimée sous forme de représentation décimale.
Input : [ 3710, 3360, 1149, 2340, 2407, 4034, 3521, 2529, 2527, 3999, 2135, 3267 ]
Output: [ 3, 4 ]
Input : [ 1222, 3107, 1508, 3997, 1906, 379, 2874, 2926, 1480, 1487, 3565, 633 ]
Output: [ 3, 7 ]
Input : [ 2796, 206, 148, 763, 429, 1274, 2170, 2495, 42, 1646, 363, 1145 ]
Output: [ 6, 4 ]
Input : [ 3486, 3502, 1882, 1886, 2003, 1442, 2383, 2808, 1416, 1923, 2613, 519 ]
Output: [ 1, 1 ]
Input : [ 3661, 2382, 2208, 1583, 1865, 3969, 2864, 3074, 475, 2382, 1838, 127 ]
Output: [ 8, 8 ]
Input : [ 361, 1275, 3304, 2878, 3733, 3833, 3971, 3405, 2886, 448, 3101, 22 ]
Output: [ 0, 3 ]
Input : [ 3674, 2852, 1571, 3582, 1402, 3331, 1741, 2678, 2076, 2685, 734, 261 ]
Output: [ 7, 7 ]
y
, x
(c.-à-d. Ordre inverse)?
(1,1)
)?