(เเรงบันดาลใจจาก คำถามนี้ทางคณิตศาสตร์)
คำจำกัดความ
รับn x n
ตารางเมทริกซ์เราสามารถเรียกมันว่าถ้ามีบางเมทริกซ์ตารางBดังกล่าวว่าAB = BA = ฉันnกับฉันnเป็นเมทริกซ์เอกลักษณ์ขนาด(เมทริกซ์ที่มีเส้นทแยงมุมหลักและสิ่งอื่น) และABและBAแทนการคูณเมทริกซ์ปกติ(ฉันจะไม่เข้าไปที่นี่ - ไปเรียนพีชคณิตเชิงเส้น)invertible
n x n
n x n
1
0
จากที่เราสามารถเรียกm x n
เมทริกซ์C totally invertible
ถ้าทุกk x k
submatrix (ระบุด้านล่าง) ของCคือ invertible ทั้งหมด,k > 1
k <= (smaller of m,n)
submatrix ถูกกำหนดให้เป็นเมทริกซ์ที่เกิดขึ้นหลังจากการลบจำนวนแถวและ / หรือคอลัมน์ใด ๆ จากเมทริกซ์ดั้งเดิม ตัวอย่างเช่น3x3
เมทริกซ์Cด้านล่างสามารถเปลี่ยนเป็น2x2
submatrix C 'ได้โดยการลบแถวแรก1 2 3
และคอลัมน์กลาง2 5 8
ดังนี้:
C = [[1 2 3]
[4 5 6] --> C' = [[4 6]
[7 8 9]] [7 9]]
โปรดสังเกตว่ามีความเป็นไปได้ของ submatrix ที่แตกต่างกันข้างต้นเป็นเพียงตัวอย่าง ความท้าทายนี้เกี่ยวข้องกับสิ่งที่ผลลัพธ์ย่อยเป็นk x k
เมทริกซ์จตุรัสเท่านั้น
ความท้าทาย
รับเมทริกซ์อินพุทตรวจสอบว่ามันเป็น invertible โดยสิ้นเชิงหรือไม่
การป้อนข้อมูล
- เมทริกซ์เดียวของขนาด
m x n
ในรูปแบบที่เหมาะสมใด ๆ - โดยไม่สูญเสียความสามารถทั่วไปคุณสามารถสันนิษฐานได้
m <= n
หรือm >= n
ว่านักเล่นกอล์ฟคนใดที่มีรหัสของคุณและป้อนข้อมูลด้วยวิธีนั้น (เช่นคุณจะได้รับการดำเนินการแปลงข้อมูลฟรีหากคุณต้องการ) - ขนาดเมทริกซ์อินพุตจะไม่เล็กกว่า
3 x 3
และไม่ใหญ่กว่าภาษาของคุณที่สามารถจัดการได้ - เมทริกซ์อินพุตจะประกอบด้วยเฉพาะค่าตัวเลขจากZ + ( จำนวนเต็มบวก )
ผลลัพธ์
- ค่าความจริง / เท็จสำหรับว่าเมทริกซ์อินพุทนั้นกลับด้านโดยสิ้นเชิง
กฎระเบียบ
- ยอมรับได้ทั้งโปรแกรมหรือฟังก์ชั่น
- ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
- นี่คือรหัส - กอล์ฟเพื่อให้ใช้กฎการตีกอล์ฟตามปกติและรหัสที่สั้นที่สุด (เป็นไบต์) ชนะ
ตัวอย่าง
Truthy
[[1 2 3]
[2 3 1]
[3 1 2]]
[[2 6 3]
[1 12 2]
[5 3 1]]
[[1 2 3 4]
[2 3 4 1]
[3 4 1 2]]
[[2 3 5 7 11]
[13 17 19 23 29]
[31 37 41 43 47]]
Falsey
[[1 2 3]
[4 5 6]
[7 8 9]]
[[1 6 2 55 3]
[4 5 5 5 6]
[9 3 7 10 4]
[7 1 8 23 9]]
[[2 3 6]
[1 2 12]
[1 1 6]]
[[8 2 12 13 2]
[12 7 13 12 13]
[8 1 12 13 5]]
6
7
พิมพ์ผิดเงอะงะ
2 6 3; 1 12 2; 5 3 1
ที่ไหนใน?