สี่เหลี่ยมผืนผ้าครอบคลุม
สมมติว่าคุณมีเมทริกซ์ของบิตตัวอย่างเช่นต่อไปนี้
1 1 0 0 0 1 1 0
1 1 1 1 0 1 1 1
0 1 1 1 0 1 1 1
1 1 0 1 1 1 1 0
1 1 0 1 1 1 0 1
เราอยากหาสี่เหลี่ยมครอบคลุมสำหรับเมทริกซ์นี้ มันเป็นชุดของเซตย่อยสี่เหลี่ยมของเมทริกซ์ที่ไม่มี 0 ใด ๆ แต่รวมกันประกอบด้วย 1s ทั้งหมด ชุดย่อยไม่จำเป็นต้องแยกจากกัน นี่คือตัวอย่างของการครอบคลุมรูปสี่เหลี่ยมผืนผ้าสำหรับเมทริกซ์ด้านบน
+----+ +----+
|1 1| 0 0 0 |1 1| 0
| | | |
| +-|-----+ | |+-+
|1 |1| 1 1| 0 |1 1||1|
+----+ | | || |
| | | || |
0 |1 1 1| 0 |1 1||1|
+-------+ | |+-+
+----+ +-----|-+ |
|1 1| 0 |1 1 |1| 1| 0
| | | +----+
| | | | +-+
|1 1| 0 |1 1 1| 0 |1|
+----+ +-------+ +-+
จำนวนสี่เหลี่ยมในปกนี้คือ 7
งาน
ข้อมูลที่คุณป้อนเป็นเมทริกซ์รูปสี่เหลี่ยมผืนผ้าของบิตนำมาในรูปแบบที่เหมาะสม คุณสามารถสันนิษฐานได้ว่ามันมีอย่างน้อยหนึ่ง 1 เอาท์พุทของคุณคือจำนวนต่ำสุดของรูปสี่เหลี่ยมผืนผ้าในปกสี่เหลี่ยมของเมทริกซ์
จำนวนไบต์ต่ำสุดชนะ ใช้กฎมาตรฐานของกอล์ฟ
กรณีทดสอบ
[[1]] -> 1
[[1,1]] -> 1
[[1],[1]] -> 1
[[1,0,1]] -> 2
[[1,0],[0,0]] -> 1
[[1,0],[0,1]] -> 2
[[1,0],[1,1]] -> 2
[[1,1,1],[1,0,1]] -> 3
[[0,1,0],[1,1,1],[0,1,0]] -> 2
[[1,1,1],[1,0,1],[1,1,1]] -> 4
[[1,1,0],[1,1,1],[0,1,1]] -> 2
[[1,0,1,0],[1,1,1,1],[1,0,1,0]] -> 3
[[1,1,1,0],[1,0,1,0],[1,1,1,1],[0,0,1,0]] -> 4
[[1,1,1,0],[1,0,1,0],[1,1,1,1],[0,0,1,1]] -> 5
[[1,1,1,0],[1,0,1,0],[1,1,1,1],[0,1,1,1]] -> 4
[[1,1,0,0],[1,1,1,0],[0,1,1,1],[0,0,1,1]] -> 3
[[0,1,0,0],[0,1,1,1],[1,1,1,0],[0,0,1,0]] -> 4
[[0,0,1,0,0],[0,1,1,1,0],[1,1,1,1,1],[0,1,1,1,0],[0,0,1,0,0]] -> 3
[[0,1,0,0],[0,1,1,1],[1,1,1,0],[0,0,1,0]]
, 4