Thử thách này được lấy cảm hứng từ quảng cáo này của Wendy từ năm 1984.
Minh họa bởi TS Rogers
Nhiệm vụ của bạn là tìm 0xBEEF thập lục phân trên búi nhị phân.
'Thịt bò' bao gồm các mẫu sau:
1 0 1 1 (0xB)
1 1 1 0 (0xE)
1 1 1 0 (0xE)
1 1 1 1 (0xF)
Và 'bun' bao gồm ma trận nhị phân 12x12, chẳng hạn như:
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
Đầu vào
Chương trình hoặc chức năng của bạn sẽ lấy ma trận nhị phân làm đầu vào. Định dạng ma trận rất linh hoạt, nhưng nó phải được mô tả rõ ràng trong câu trả lời của bạn.
Ví dụ:
một chuỗi nhị phân đơn, có hoặc không có dấu phân cách giữa các hàng:
"111001111110 110100100000..."
hoặc là:
"111001111110110100100000..."
một mảng các chuỗi nhị phân:
["111001111110", "110100100000", ...]
một mảng các số (mỗi số mô tả một hàng một lần được chuyển đổi thành nhị phân và được đệm trái bằng số không):
[3710, 3360, ...]
Đầu ra
Các tọa độ (X, Y)
của 'thịt bò', (0, 0)
là góc trên cùng bên trái của búi tóc.
Ngoài ra, bạn có thể sử dụng tọa độ dựa trên 1 (nhưng không kết hợp cả hai định dạng, như dựa trên 0 cho X và 1 dựa trên Y).
Đối với ví dụ trên, câu trả lời dự kiến là (3, 4)
(dựa trên 0) hoặc (4, 5)
(dựa trên 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
Một lần nữa, bất kỳ định dạng hợp lý sẽ hoạt động miễn là nó được chỉ định trong câu trả lời của bạn. Cũng vui lòng đề cập nếu bạn đang sử dụng tọa độ dựa trên 0 hoặc dựa trên 1.
Quy tắc
- Bạn có thể an toàn cho rằng luôn có chính xác một "thịt bò" trên bánh. Mã của bạn không bắt buộc phải hỗ trợ các trường hợp có nhiều hơn một thịt bò hoặc không có thịt bò nào cả.
- Các mô hình thịt bò sẽ luôn luôn xuất hiện như mô tả. Nó sẽ không bao giờ được xoay hoặc nhân đôi theo bất kỳ cách nào.
- Đây là môn đánh gôn, vì vậy câu trả lời ngắn nhất bằng byte sẽ thắng. Sơ hở tiêu chuẩn bị cấm.
Các trường hợp thử nghiệm
Trong các trường hợp thử nghiệm sau đây, mỗi hàng của ma trận được biểu thị dưới dạng biểu diễn thập phân của nó.
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
(tức là thứ tự ngược lại)?
(1,1)
)?