ท้าทาย:
รับอินพุตเมทริกซ์กำหนดจำนวนของเส้นทแยงมุมและต่อต้านเส้นทแยงมุมด้วยตัวเลขซ้ำ
ดังนั้นถ้าเรามีเมทริกซ์ดังนี้:
[[aa,ab,ac,ad,ae,af],
[ba,bb,bc,bd,be,bf],
[ca,cb,cc,cd,ce,cf],
[da,db,dc,dd,de,df]]
diagonals และ anti-diagonals ทั้งหมดจะเป็น:
[[aa],[ab,ba],[ac,bb,ca],[ad,bc,cb,da],[ae,bd,cc,db],[af,be,cd,dc],[bf,ce,dd],[cf,de],[df],
[af],[ae,bf],[ad,be,cf],[ac,bd,ce,df],[ab,bc,cd,de],[aa,bb,cc,dd],[ba,cb,dc],[ca,db],[da]]
ตัวอย่าง:
[[1,2,1,2,1,2],
[1,2,3,4,5,6],
[6,5,4,3,2,1],
[2,1,2,1,2,1]]
diagonals และ anti-diagonals ทั้งหมดจะเป็น:
[[1],[2,1],[1,2,6],[2,3,5,2],[1,4,4,1],[2,5,3,2],[6,2,1],[1,2],[1],
[2],[1,6],[2,5,1],[1,4,2,1],[2,3,3,2],[1,2,4,1],[1,5,2],[6,1],[2]]
การลบ diagonals และ anti-diagonals ทั้งหมดที่มีหมายเลขเฉพาะเท่านั้น:
[[2,3,5,2],[1,4,4,1],[2,5,3,2],[1,4,2,1],[2,3,3,2],[1,2,4,1]]
ดังนั้นผลลัพธ์คือจำนวน diagonals และ anti-diagonals ที่มีตัวเลขซ้ำกัน:
6
กฏท้าทาย:
- หากเมทริกซ์ใส่เป็นที่ว่างเปล่ามีเพียง 1
0
หมายเลขหรือมีหมายเลขที่ไม่ซ้ำกันเพียงข้ามเมทริกซ์ทั้งการส่งออกอยู่เสมอ - ข้อมูลเข้ารับประกันว่าจะมีเฉพาะตัวเลขบวก
[1,9]
(เว้นแต่จะเว้นว่างไว้ทั้งหมด) - เมทริกซ์จะเป็นรูปสี่เหลี่ยมผืนผ้าเสมอ (เช่นแถวทั้งหมดมีความยาวเท่ากัน)
- I / O ยืดหยุ่นได้ อินพุตสามารถนำมาเป็นรายการของจำนวนเต็มหรืออาร์เรย์ของจำนวนเต็ม 2D หรือเมทริกซ์วัตถุเป็นสตริง ฯลฯ ฯลฯ คุณยังได้รับอนุญาตให้ใช้มิติข้อมูลหนึ่งหรือทั้งสองของเมทริกซ์เป็นอินพุตเพิ่มเติม ถ้ามันจะช่วยประหยัดไบต์ในภาษาที่คุณเลือก
กฎทั่วไป:
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
อย่าปล่อยให้ภาษาโค้ดกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ได้เข้ารหัส พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - กฎมาตรฐานใช้สำหรับคำตอบของคุณด้วยกฎ I / O เริ่มต้นดังนั้นคุณจึงได้รับอนุญาตให้ใช้ STDIN / STDOUT ฟังก์ชั่น / วิธีการที่มีพารามิเตอร์ที่เหมาะสมและประเภทผลตอบแทนโปรแกรมเต็มรูปแบบ การโทรของคุณ
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- หากเป็นไปได้โปรดเพิ่มลิงค์พร้อมทดสอบรหัสของคุณ (เช่นTIO )
- นอกจากนี้ขอแนะนำให้เพิ่มคำอธิบายสำหรับคำตอบของคุณ
กรณีทดสอบ:
Input: Output:
[[1,2,1,2,1,2], 6
[1,2,3,4,5,6],
[6,5,4,3,2,1],
[2,1,2,1,2,1]]
[[]] 0
[[1,2], 0
[3,4]]
[[1,1], 2
[1,1]]
[[9,9,9], 6
[9,9,9],
[9,9,9]]
[[7,7,7,7], 8
[7,7,7,7],
[7,7,7,7]]
[[1,1,1], 1
[2,3,4],
[2,5,1]]
[[1,8,4,2,9,4,4,4], 12
[5,1,2,7,7,4,2,3],
[1,4,5,2,4,2,3,8],
[8,5,4,2,3,4,1,5]]
[[1,2,3,4], 4
[5,6,6,7],
[8,6,6,9],
[8,7,6,5]]
row
และcol
เข้าไปในรายการ ทางออกที่ฉลาดจริงๆ