(แรงบันดาลใจแบบสุ่มโดยhttps://codegolf.meta.stackexchange.com/a/17272/42963 )
ให้เมทริกซ์รูปสี่เหลี่ยมผืนผ้าของตัวเลข (เช่น, 0 - 9
), เอาท์พุท "ชิ้น" ของเมทริกซ์ราวกับว่าตัวเลขนั้นเชื่อมต่อกันไว้เป็นชิ้นเดียวตามลำดับจากน้อยไปมาก ชิ้นส่วนรับประกันว่าจะเชื่อมต่อแบบ orthongonally เท่านั้น - ไม่มีชิ้นใดที่จะเชื่อมต่อในแนวทแยงมุม จะมีได้สูงสุด 10 ชิ้นเท่านั้น (กล่าวคือ3
ชิ้นส่วนจะไม่ปรากฏสองครั้งในเมทริกซ์เดียวกัน)
ตัวอย่างเช่นกำหนดเมทริกซ์
0 1 1 1
0 0 1 2
3 3 2 2
ต่อไปนี้คือชิ้นส่วนและเอาต์พุตตัวอย่าง:
0
0 0
1 1 1
1
2
2 2
3 3
การเว้นวรรคเป็นสิ่งสำคัญในการรักษารูปร่างของชิ้นส่วน แต่ชิ้นส่วนนั้นไม่จำเป็นต้องมีระยะห่างภายใน ชิ้นส่วนเองควรมีความแตกต่างในลักษณะที่สอดคล้องกัน (เช่นการขึ้นบรรทัดใหม่ระหว่างชิ้นส่วนเพื่อให้แน่ใจว่าแต่ละตัวมีลักษณะแตกต่างกัน ฯลฯ ) นอกจากนี้ไม่อนุญาตช่องว่างภายนอก (ตัวอย่างเช่นการขึ้นบรรทัดใหม่หรือคอลัมน์นำ) ตัวอย่างเช่นต่อไปนี้จะถูกต้อง:
0
00
111
1
2
22
33
หรือ
#
##
###
#
#
##
##
แต่สิ่งต่อไปนี้จะไม่ใช่ (สังเกตช่องว่างท้ายหลัง0
s):
0
0 0
ไม่อนุญาตให้ใช้การหมุนหรือการสะท้อนกลับ ตัวอย่างเช่นการส่งออก
1
111
สำหรับเมทริกซ์ข้างต้นก็ไม่ถูกต้องเช่นกัน
ชิ้นส่วนของเมทริกซ์อาจมีรูหรือเป็นเพียงองค์ประกอบเดียว:
0 0 0 1
0 2 0 1
0 0 0 3
หรือชิ้นส่วนอาจเป็นเมทริกซ์ทั้งหมด:
0 0 0
0 0 0
นี่คือกรณีทดสอบที่ใหญ่และซับซ้อนกว่า:
1 1 1 1 1 2 2
3 4 4 4 2 2 2
5 5 4 4 2 0 0
5 6 6 6 6 7 7
5 6 8 8 6 6 7
9 6 6 6 7 7 7
และตัวอย่างผลลัพธ์:
00
11111
22
222
2
3
444
44
55
5
5
6666
6 66
666
77
7
777
88
9
กฎและ I / O
- เข้าและส่งออกจะได้รับโดยวิธีการที่สะดวกใด ๆ
- คุณสามารถพิมพ์ไปที่ STDOUT หรือส่งคืนเป็นผลลัพธ์ของฟังก์ชัน
- ยอมรับได้ทั้งโปรแกรมหรือฟังก์ชั่น
- ช่องว่างนำหน้าเพื่อรักษารูปร่าง (เช่นรูปร่าง "T" ของ
1
ตัวอย่าง) จำเป็นต้องใช้ช่องว่างที่สอดคล้องกันเพื่อทำให้ชิ้นส่วนแตกต่างกันและขึ้นบรรทัดใหม่ต่อท้ายเดี่ยวในตอนท้ายได้รับอนุญาต แต่ไม่อนุญาตช่องว่างอื่น - คุณได้อย่างปลอดภัยสามารถสรุปได้ว่าชิ้นส่วนที่มีหมายเลข
0
ที่จะN
ติดกันหมายความว่า (ตัวอย่าง)3
จะไม่ถูกข้ามไปในเมทริกซ์หกชิ้น - ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
- นี่คือรหัส - กอล์ฟเพื่อให้ใช้กฎการตีกอล์ฟตามปกติและรหัสที่สั้นที่สุด (เป็นไบต์) ชนะ
0
เป็นค่าตัวเติม ดังนั้นแต่ละชิ้นจะถูกส่งออกพร้อมกับค่าที่เหลือในเมทริกซ์ที่ตั้งไว้0
-1
หรือค่าอื่น ๆ แทนอะไร / ช่องว่างจะไม่เป็นไรแม้ว่า
' '
) ในกรณีนั้นหรือไม่
-1
หรือเว้นวรรคที่แสดงถึงพื้นที่ว่างหรือไม่มีองค์ประกอบถ้าเป็นไปได้)?