เมทริกซ์เป็นปัจจัย transpose ของAdjugate เมทริกซ์ องค์ประกอบของเมทริกซ์นี้คือโคแฟคเตอร์ของเมทริกซ์ดั้งเดิม
โคแฟคเตอร์(เช่นองค์ประกอบของเมทริกซ์โคแฟคเตอร์ที่แถว i และคอลัมน์ j) คือดีเทอร์มิแนนต์ของเมทริกซ์ย่อยที่เกิดขึ้นโดยการลบแถว ith และคอลัมน์ jth จากเมทริกซ์ดั้งเดิมคูณด้วย (-1) ^ (i + j)
ตัวอย่างเช่นสำหรับเมทริกซ์
องค์ประกอบของเมทริกซ์โคแฟคเตอร์ที่แถว 1 และคอลัมน์ 2 คือ:
คุณสามารถค้นหาข้อมูลเกี่ยวกับสิ่งที่ปัจจัยของเมทริกซ์และวิธีการในการคำนวณพวกเขาที่นี่
ท้าทาย
เป้าหมายของคุณคือส่งออกเมทริกซ์โคแฟคเตอร์ของเมทริกซ์อินพุท
หมายเหตุ : Built-in ที่ประเมินการฝึกอบรมปัจจัยหรือเมทริกซ์ adjugate หรือปัจจัยหรือสิ่งที่คล้ายกันจะได้รับอนุญาต
อินพุต
เมทริกซ์อาจถูกป้อนเป็นอาร์กิวเมนต์บรรทัดคำสั่งเป็นพารามิเตอร์ฟังก์ชันในSTDIN
หรือในวิธีที่เหมาะสมที่สุดสำหรับภาษาที่คุณใช้
เมทริกซ์จะถูกจัดรูปแบบเป็นรายการรายการแต่ละรายการย่อยที่สอดคล้องกับหนึ่งแถวซึ่งมีปัจจัยที่เรียงลำดับจากซ้ายไปขวา จัดเรียงแถวจากบนลงล่างในรายการ
ตัวอย่างเช่นเมทริกซ์
a b
c d
[[a,b],[c,d]]
จะแสดงโดย
คุณสามารถแทนที่วงเล็บเหลี่ยมและเครื่องหมายจุลภาคด้วยอย่างอื่นถ้ามันเหมาะกับภาษาของคุณและมีเหตุผล (เช่น((a;b);(c;d))
)
การฝึกอบรมจะมีเพียงจำนวนเต็ม (ซึ่งอาจจะเป็นลบ)
เมทริกซ์จะเป็นสี่เหลี่ยมจัตุรัสเสมอ (เช่นจำนวนแถวและคอลัมน์เท่ากัน)
คุณอาจคิดว่าอินพุตจะถูกต้องเสมอ (เช่นไม่มีปัญหาการจัดรูปแบบไม่มีอะไรอื่นนอกจากจำนวนเต็มไม่มีเมทริกซ์ที่ว่างเปล่า)
เอาท์พุต
เมทริกซ์โคแฟคเตอร์ที่ได้นั้นอาจถูกSTDOUT
ส่งออกไป, ส่งคืนจากฟังก์ชั่น, เขียนไปยังไฟล์หรืออะไรก็ตามที่คล้ายกันซึ่งเหมาะสมกับภาษาที่คุณใช้
[[d,-c],[-b,a]]
เมทริกซ์ปัจจัยต้องจัดรูปแบบในลักษณะเดียวกันที่แน่นอนการฝึกอบรมการป้อนข้อมูลที่จะได้รับเช่น หากคุณอ่านสตริงคุณจะต้องส่งกลับ / ส่งออกสตริงที่เมทริกซ์ถูกจัดรูปแบบเหมือนกับในอินพุต หากคุณใช้บางอย่างเช่นรายการของรายการเป็นอินพุตคุณจะต้องส่งคืนรายการเช่นกัน
กรณีทดสอบ
- การป้อนข้อมูล:
[[1]]
เอาท์พุท: [[1]]
- การป้อนข้อมูล:
[[1,2],[3,4]]
เอาท์พุท: [[4,-3],[-2,1]]
- การป้อนข้อมูล:
[[-3,2,-5],[-1,0,-2],[3,-4,1]]
เอาท์พุท: [[-8,-5,4],[18,12,-6],[-4,-1,2]]
- การป้อนข้อมูล:
[[3,-2,7,5,0],[1,-1,42,12,-10],[7,7,7,7,7],[1,2,3,4,5],[-3,14,-1,5,-9]]
เอาท์พุท:
[[9044,-13580,-9709,23982,-9737],[-1981,1330,3689,-3444,406],[14727,7113,2715,-9792,414],[-28448,-2674,-707,16989,14840],[-2149,2569,-2380,5649,-3689]]
เกณฑ์การให้คะแนน
นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ