Этот вызов был вдохновлен рекламой Венди с 1984 года.
Иллюстрация Т.С. Роджерса
Ваша задача - найти шестнадцатеричный 0xBEEF на двоичной булочке.
«Говядина» состоит из следующего шаблона:
1 0 1 1 (0xB)
1 1 1 0 (0xE)
1 1 1 0 (0xE)
1 1 1 1 (0xF)
И «плюшка» состоит из двоичной матрицы 12x12, такой как:
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
вход
Ваша программа или функция будет принимать двоичную матрицу в качестве входных данных. Формат матрицы очень гибкий, но он должен быть четко описан в вашем ответе.
Например:
одиночная двоичная строка, с или без разделителей между строками:
"111001111110 110100100000..."
или же:
"111001111110110100100000..."
массив двоичных строк:
["111001111110", "110100100000", ...]
массив чисел (каждое число, описывающее строку, однажды преобразованную обратно в двоичную и дополненную слева нулями):
[3710, 3360, ...]
Выход
Координаты (X, Y)
«говядины», (0, 0)
являющейся верхним левым углом булочки.
В качестве альтернативы, вы можете использовать координаты на основе 1 (но не сочетание обоих форматов, например 0 на основе X и 1 на основе Y).
Для приведенного выше примера ожидаемый ответ (3, 4)
(на основе 0) или (4, 5)
(на основе 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
Опять же, любой разумный формат будет работать, если он указан в вашем ответе. Также укажите, если вы используете 0 или 1.
правила
- Вы можете смело предположить, что на булочке всегда ровно одна «говядина». Ваш код не обязан поддерживать случаи с более чем одной говядиной или вообще без говядины.
- Шаблон говядины всегда будет выглядеть так, как описано. Он никогда не будет повернут или отражен каким-либо образом.
- Это код-гольф, поэтому выигрывает самый короткий ответ в байтах. Стандартные лазейки запрещены.
Контрольные примеры
В следующих тестовых примерах каждая строка матрицы выражается в виде десятичного представления.
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
(т.е. в обратном порядке)?
(1,1)
)?