ความท้าทายนี้ได้รับแรงบันดาลใจจากโฆษณาของเวนดี้ในปี 1984
ภาพประกอบโดย TS Rogers
งานของคุณคือการหา 0xBEEF เลขฐานสิบหกบนขนมปังไบนารี
'เนื้อวัว' ประกอบด้วยรูปแบบต่อไปนี้:
1 0 1 1 (0xB)
1 1 1 0 (0xE)
1 1 1 0 (0xE)
1 1 1 1 (0xF)
และ 'bun' ประกอบด้วยเมทริกซ์ไบนารี 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)
) หรือไม่