สำหรับความท้าทายนี้คุณควรเขียนโปรแกรมหรือฟังก์ชั่นที่ส่งออกเส้นทแยงมุมของเมทริกซ์จตุรัสที่กำหนด อย่างไรก็ตามถ้าคุณแปลงแถวและคอลัมน์ของซอร์สโค้ดของโซลูชันมันควรจะกลายเป็นโปรแกรมหรือฟังก์ชั่นซึ่งจะคืนค่าแอนดิคาริกันของเมทริกซ์ อ่านต่อไปสำหรับเฉพาะ ...
กฎระเบียบ
- ซอร์สโค้ดของโซลูชันของคุณถือเป็นตารางอักขระ 2 ตัวคั่นด้วยบรรทัดใหม่มาตรฐานที่คุณเลือก (ตัวป้อนบรรทัดการขึ้นบรรทัดใหม่หรือการรวมกันของทั้งคู่)
ไม่มีบรรทัดในซอร์สโค้ดของคุณอาจยาวกว่าบรรทัดก่อนหน้า นี่คือตัวอย่างของรูปแบบที่ถูกต้อง:
### ### ###
######## ####### ### ### #
และนี่คือตัวอย่างของรูปแบบที่ไม่ถูกต้อง (เนื่องจากบรรทัดที่สามยาวกว่าสอง):
###### #### ##### ###
โซลูชันทั้งสองของคุณควรเป็นการแปลงข้อมูลของกันและกันนั่นคือคุณควรได้มาจากอีกวิธีหนึ่งโดยการสลับแถวและคอลัมน์ นี่คือคู่ที่ถูกต้องสองคู่:
abc def ghi
adg beh cfi
และ
print 10 (~^_^)~ foo bar !
p(fb! r~oa i^or n_ t^ ) 1~ 0
โปรดทราบว่าช่องว่างได้รับการปฏิบัติเหมือนตัวละครอื่น ๆ โดยเฉพาะอย่างยิ่งช่องว่างต่อท้ายมีความสำคัญเนื่องจากอาจไม่มีช่องว่างต่อท้ายในการแปลง
แต่ละโซลูชันควรเป็นโปรแกรมหรือฟังก์ชั่นซึ่งใช้เมทริกซ์จตุรัสที่ไม่ว่างของจำนวนเต็มหลักเดียวเป็นอินพุต ทางออกหนึ่งควรแสดงรายการของเส้นทแยงมุมทั้งหมดของเมทริกซ์และอีกวิธีหนึ่งควรแสดงรายการของตัวต้านทานทั้งหมด คุณอาจใช้รูปแบบอินพุตและเอาต์พุตที่สมเหตุสมผลไม่ต้องคลุมเครือ แต่ต้องมีรูปแบบที่เหมือนกันระหว่างสองโซลูชัน
- เส้นทแยงมุมแต่ละเส้นวิ่งจากซ้ายไปขวาล่างและควรสั่งจากบนลงล่าง
- เส้นทแยงมุมแต่ละเส้นวิ่งจากล่างซ้ายไปขวาบนและควรสั่งจากบนลงล่าง
เกณฑ์การให้คะแนน
เพื่อส่งเสริมให้มีการแก้ปัญหาที่เป็น "สแควร์" เป็นไปได้คะแนนหลักคือจำนวนของแถวหรือจำนวนคอลัมน์ของการแก้ปัญหาของคุณแล้วแต่จำนวนใดจะมีขนาดใหญ่ น้อยกว่าดีกว่า ความสัมพันธ์ถูกแบ่งตามจำนวนอักขระในโซลูชันไม่ใช่การนับบรรทัดใหม่ อีกครั้งน้อยกว่าดีกว่า ตัวอย่าง:
abcd
efg
h
สิ่งนี้และการถ่ายโอนของมันจะมีคะแนนหลัก4 (เนื่องจากมี 4 คอลัมน์) และคะแนนการแบ่งที่8 (เนื่องจากมี 8 อักขระที่ไม่ใช่บรรทัดใหม่) โปรดอ้างอิงค่าทั้งสองในส่วนหัวของคำตอบของคุณ
กรณีทดสอบ
งานจริงที่ดำเนินการโดยสองโซลูชันไม่ควรเป็นความท้าทายหลักที่นี่ แต่นี่เป็นสองตัวอย่างที่จะช่วยคุณทดสอบวิธีแก้ปัญหาของคุณ:
Input:
1 2 3
4 5 6
7 8 9
Diagonals:
3
2 6
1 5 9
4 8
7
Antidiagonals:
1
4 2
7 5 3
8 6
9
Input:
1 0 1 0
0 1 0 1
1 0 1 0
0 1 0 1
Diagonals:
0
1 1
0 0 0
1 1 1 1
0 0 0
1 1
0
Antidiagonals:
1
0 0
1 1 1
0 0 0 0
1 1 1
0 0
1