คำนิยาม
เมทริกซ์หัวลูกศรเป็นเมทริกซ์ที่มีรายการทั้งหมดเท่ากับ0ยกเว้นคนบนเส้นทแยงมุมหลักแถวบนสุดและคอลัมน์ซ้ายสุด กล่าวอีกนัยหนึ่งเมทริกซ์ควรมีลักษณะเช่นนี้:
* * * * * * * * 0 0 0 0 0 * 0 * 0 0 0 * 0 0 * 0 0 * 0 0 0 * 0 * 0 0 0 0 0 *
โดยที่*แต่ละรายการที่ไม่เป็นศูนย์
งาน
ให้ตารางเมทริกซ์ของจำนวนเต็มไม่เป็นลบตรวจสอบว่าเป็นลูกศรตามคำนิยามข้างต้น
คุณไม่สามารถใช้ขนาดของเมทริกซ์เป็นอินพุตได้เว้นแต่ว่าภาษาของคุณเทียบเท่ากับอาเรย์เป็นสิ่งที่เหมือนกับตัวชี้และความยาว (เช่น C) มันจะเป็นอย่างน้อย 3 x 3
รหัสสั้นที่สุดเป็นไบต์ในแต่ละภาษาชนะ
อินพุตและเอาต์พุต
คุณสามารถเลือกรูปแบบใดรูปแบบหนึ่งต่อไปนี้เพื่อรับอินพุต:
- เมทริกซ์ในประเภทเมทริกซ์เนทีฟ (หากภาษาของคุณมี)
- อาร์เรย์ 2 มิติ1 (อาร์เรย์ 1D ของอาร์เรย์แต่ละแถวสอดคล้องกับหนึ่งแถว)
- อาร์เรย์ 1D (เนื่องจากเมทริกซ์เป็นจตุรัสเสมอ)
- สตริง (คุณเลือกการเว้นวรรค แต่โปรดอย่าใช้สิ่งนี้ในทางที่ผิด)
เมื่อพูดถึงการนำเสนอผลลัพธ์คุณสามารถรายงานค่าจริง /ค่าเท็จตามคำนิยามปัญหาการตัดสินใจมาตรฐานหรือเลือกสองค่าที่แตกต่างและสอดคล้องกัน
นอกจากนี้คุณสามารถรับอินพุตและให้เอาต์พุตผ่านวิธีมาตรฐานใด ๆ ในภาษาการเขียนโปรแกรมใด ๆในขณะที่รับทราบว่าช่องโหว่เหล่านี้ถูกห้ามโดยค่าเริ่มต้น หากต้องการเลือกรูปแบบอื่นหรือไม่แน่ใจเกี่ยวกับบางสิ่งบางอย่างโปรดถามในความคิดเห็น
1: หรือเทียบเท่าภาษาของคุณ (รายการ, เวกเตอร์, ฯลฯ )
ตัวอย่าง
ลองดูตัวอย่างต่อไปนี้:
1 2 2 2 2 1 0 0 3 0 1 0 4 0 0 1
นี่คือเมทริกซ์หัวลูกศร (โปรแกรมของคุณควรจะรายงานค่า truthy ก) เพราะองค์ประกอบในแนวทแยงหลัก1 1 1 1
, ผู้ที่อยู่ในแถวบนสุดที่มีและผู้ที่อยู่ในคอลัมน์ซ้ายสุดเป็น1 2 2 2
1 2 3 4
รายการอื่น ๆ ทั้งหมดเป็น0ดังนั้นนี่เป็นไปตามเงื่อนไขทั้งหมด
3 5 6 7 1 0 8 0 0
เมทริกซ์นี้ไม่ใช่หัวลูกศรเพราะมี0บนเส้นทแยงมุมหลัก
9 9 9 9 9 9 0 0 9 7 9 0 9 0 0 9
อันนี้ไม่ได้ Arrowhead ทั้งเพราะมันมี7ในสถานที่ของ0
กรณีทดสอบเพิ่มเติม
Truthy:
[[1, 1, 1], [1, 1, 0], [1, 0, 1]] [[1, 2, 3, 4], [1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1] [[1, 2, 2, 2], [2, 1, 0, 0], [3, 0, 1, 0], [4, 0, 0, 1] [[34, 11, 35, 5], [56, 567, 0, 0], [58, 0, 679, 0], [40, 0, 0, 7]]
Falsy:
[[3, 5, 6], [7, 1, 0], [8, 0, 0]] [[9, 9, 9, 9], [9, 9, 0, 0], [9, 7, 9, 0], [9, 0, 0, 9] [[1, 0, 3, 4], [1, 1, 0, 0], [1, 0, 1, 0], [1, 0, 0, 1] [[1, 6, 3, 4], [13, 2, 0, 6], [29, 0, 1, 0], [2, 0, 0, 4]