Цей виклик був натхнен рекламним роликом Венді з 1984 року.
Ілюстрація Т.С. Роджерса
Ваше завдання - знайти шістнадцятковий 0xBEEF на двійковій булочці.
"Яловичина" складається з наступного шаблону:
1 0 1 1 (0xB)
1 1 1 0 (0xE)
1 1 1 0 (0xE)
1 1 1 1 (0xF)
А «булочка» складається з двійкової матриці 12х12, таких як:
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)
)?