आयत कवर
मान लीजिए कि आपके पास बिट्स का एक मैट्रिक्स है, उदाहरण के लिए निम्नलिखित।
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
हम इस मैट्रिक्स के लिए एक आयत कवर खोजना चाहेंगे । यह मैट्रिक्स का आयताकार सबसेट है, जिसमें कोई 0s नहीं होता है, लेकिन सभी 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]]