Questa sfida è stata ispirata dalla pubblicità di questo Wendy del 1984.
Illustrazione di TS Rogers
Il tuo compito è trovare un 0xBEEF esadecimale su un panino binario.
Il "manzo" è costituito dal seguente modello:
1 0 1 1 (0xB)
1 1 1 0 (0xE)
1 1 1 0 (0xE)
1 1 1 1 (0xF)
E il 'bun' è costituito da una matrice binaria 12x12, come ad esempio:
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
Ingresso
Il tuo programma o funzione prenderà la matrice binaria come input. Il formato matrice è molto flessibile, ma deve essere chiaramente descritto nella risposta.
Per esempio:
una singola stringa binaria, con o senza separatori tra le righe:
"111001111110 110100100000..."
o:
"111001111110110100100000..."
una matrice di stringhe binarie:
["111001111110", "110100100000", ...]
una matrice di numeri (ogni numero che descrive una riga una volta convertito in binario e riempito a sinistra con zeri):
[3710, 3360, ...]
Produzione
Le coordinate (X, Y)
del "manzo", (0, 0)
essendo l'angolo in alto a sinistra del panino.
In alternativa, puoi utilizzare le coordinate basate su 1 (ma non un mix di entrambi i formati, come 0 basato su X e 1 basato su Y).
Per l'esempio sopra, la risposta prevista è (3, 4)
(basata su 0) o (4, 5)
(basata su 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
Ancora una volta, qualsiasi formato ragionevole funzionerebbe purché sia specificato nella tua risposta. Si prega di menzionare anche se si utilizzano coordinate basate su 0 o 1.
Regole
- Puoi tranquillamente supporre che sul panino ci sia sempre esattamente un "manzo". Il tuo codice non è richiesto per supportare casi con più di un manzo o nessun manzo.
- Il modello di carne apparirà sempre come descritto. Non verrà mai ruotato o specchiato in alcun modo.
- Questo è code-golf, quindi vince la risposta più breve in byte. Sono vietate le scappatoie standard.
Casi test
Nei seguenti casi di test, ogni riga della matrice è espressa come rappresentazione decimale.
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
(cioè in ordine inverso)?
(1,1)
)?