เขียนโปรแกรมหรือฟังก์ชั่นในภาษาการเขียนโปรแกรมใด ๆ ที่รับอินพุต / อาร์กิวเมนต์เลขฐานสิบหก 6 หลัก อินพุต / อาร์กิวเมนต์สามารถเป็นค่า 6 ค่าหรือสตริงอักขระ 6 ตัว
โปรแกรมของคุณควรส่งออกบล็อกสี่เหลี่ยมกว้าง 8 ตัวอักษรของตัวอักษรที่มีเฉพาะเลขฐานสิบหกที่ให้มารวมกับช่องว่าง (+ Linefeed) บล็อกสี่เหลี่ยมคือการรวมกันของรูปร่างบล็อกขนาดเล็กหนึ่งรูปสำหรับแต่ละค่าที่ให้มา 6 ค่า
ต่อไปนี้เป็นตัวอย่างอินพุต 2 demostrative และเอาต์พุตตัวอย่างที่ใช้ได้:
ตัวอย่างอินพุต :
"464fa6" or [4, 6, 4, 15, 10, 6]
ทางออกหนึ่งที่ถูกต้องการส่งออก :
44 66 ff
44 66 ff
66 ff
aa f
aaa ffff
aa ffff
aaa
6 44
66666 44
ตัวอย่างอินพุต :
"35bf12"
ทางออกหนึ่งที่ถูกต้องการส่งออก :
55555 22
bbbbbbbb
b b b
33
fffff 3
ff ff
ffffff 1
กฎ:
ผลลัพธ์จะต้องเป็นรูปสี่เหลี่ยมผืนผ้า
เอาต์พุตสามารถมีความสูงในแนวตั้ง แต่ต้องมีความกว้าง 8 ตัวอักษร
"บล็อกด้านใน" ที่อ้างถึงว่า "รูปร่างบล็อก" ไม่สามารถเชื่อมต่อกับรูปร่างบล็อกอื่น ๆ ได้รูปร่างบล็อกต้องแยกจากกันด้วยผนังของพื้นที่ว่างอย่างแน่นอน 1 ตัวกว้างแนวนอนแนวตั้งและแนวทแยงมุม
ผนังของพื้นที่ว่างไม่สามารถวิ่งขนานกับขอบด้านนอกได้เพียงขอบผนังกว้าง 1 ตัวเท่านั้นที่มีอยู่ที่ขอบเอาต์พุต ไม่ควรมีช่องว่างใด ๆ ที่เชื่อมโยงที่ใดก็ได้บนขอบสี่เหลี่ยมผืนผ้าด้านนอกสุดของเอาต์พุต
ความกว้างของกำแพงพื้นที่ว่างไม่ควรเกิน 1 ตัวอักษร
รูปร่างของบล็อกด้านในควรจะเหมือนกันกับพื้นที่ของอักขระ x โดยที่ x คือค่าเลขฐานสิบหกที่ให้มาและรูปร่างควรประกอบด้วย charater x โดยที่ x เป็นตัวแทนอักขระเลขฐานสิบหก
รูปร่างของบล็อกภายในสามารถอยู่ในรูปแบบใดก็ได้ตราบใดที่อักขระรูปร่างทั้งหมดเชื่อมต่อในแนวตั้งหรือแนวนอนและไม่ทำให้กฎสำหรับผนังของพื้นที่ว่างว่าง
คุณสามารถวางรูปทรงบล็อก 6 รูปแบบใน "ลำดับ" ภายในใด ๆ ภายในสี่เหลี่ยมเอาต์พุต
ช่วงอินพุตที่ถูกต้อง: 1 ... 15 ("1" ... "f") สำหรับแต่ละรูปร่าง ข้อมูลเข้าสู่โปรแกรมของคุณไม่ควรมีข้อมูลอื่นใดนอกเหนือจากเลขฐานสิบหก 6 ตัวและไม่ควรเรียงลำดับข้อมูลด้วยวิธีอื่นใดนอกเหนือจากตัวอย่างก่อนที่จะส่งไปยังโปรแกรม / ฟังก์ชันของคุณ บอกให้เราทราบว่ารูปแบบการป้อนข้อมูลใดที่โซลูชันของคุณใช้ (อินพุตไม่สามารถมีข้อมูลอื่นใดนอกเหนือจากค่าเลขฐานสิบหก)
รูปร่างบล็อกภายในสามารถกลวง ควรเป็นช่องว่างของอักขระเว้นวรรคซึ่งนับเป็นกำแพงของพื้นที่ว่างเปล่าซึ่งหมายความว่ารูในรูปทรงบล็อกกลวงภายในไม่สามารถมีความกว้างมากกว่า 1 อักขระ
ตัวอย่างของรูปทรงกลวงที่ใช้ได้:
aaa
a aaa
aaa
999
9 9
999
9
ffffff
f ff
ffffff
ตัวอย่างหนึ่งของรูปร่างกลวงที่ไม่ถูกต้อง:
ffffff
f f
f f
fffff
ฉันสมมติว่าชุดค่าผสมของอินพุตทั้งหมดเป็นไปไม่ได้ที่จะ "แก้ปัญหา" ตามกฎข้างต้นดังนั้นฉันจึงแสดงรายการอินพุตตัวอย่าง 10 รายการที่โปรแกรมของคุณควรจะสามารถ "แก้ปัญหา" (ทั้งหมดได้รับการตรวจสอบแก้ไขได้):
1. 464fa6 (same as the first sample)
2. 35bf12 (second example input seen above)
3. 111126
4. ff7fff
5. 565656
6. abcdef
7. 1357bd
8. 8c6a42
9. ab7845
10. 349a67
โปรแกรมของคุณควรสามารถแก้ไขอินพุตตัวอย่าง 10 รายการใด ๆ ในเวลาที่เป็นกันเอง แปลเวลา resonable เป็น 1 ชั่วโมงบนคอมพิวเตอร์เดสก์ท็อปมาตรฐาน พูดเช่น: 3 Ghz Dual core, หน่วยความจำ 4GB สำหรับการอ้างอิง
นี่คือโค้ดกอล์ฟวิธีแก้ปัญหาที่สั้นที่สุดชนะ การแก้ปัญหาอาจเป็นโปรแกรมที่ทำงานได้อย่างสมบูรณ์หรือฟังก์ชั่น