एक नॉनोग्राम एक दो-आयामी तर्क पहेली है जो कुछ इस तरह दिखता है (गेम पिक्सो , मेरे पसंदीदा नॉनोग्राम गेम से स्क्रीनशॉट ):

खेल का लक्ष्य यह पता लगाना है कि कौन सी छवि उन संख्याओं को एन्कोडिंग कर रही है। नियम सरल हैं: एक स्तंभ या पंक्ति पर एक संख्या का मतलब है कि उस स्तंभ या पंक्ति में, कि एक पंक्ति में कई बक्से भरे हुए हैं। उदाहरण के लिए, ऊपर की छवि में नीचे की पंक्ति में कोई बक्सा नहीं होना चाहिए, जबकि इसके ऊपर वाले हिस्से में इसके सभी बॉक्स भरे होने चाहिए। नीचे से तीसरी पंक्ति में 8 भरे हुए बॉक्स हैं, और वे सभी एक पंक्ति में होंगे।
एक ही कॉलम या पंक्ति के लिए दो या अधिक संख्याओं का मतलब है कि भरे हुए बक्से के कई "रन" हैं, जिनकी लंबाई के बीच कम से कम एक जगह है। आदेश संरक्षित है। उदाहरण के लिए, उपरोक्त छवि के बहुत दाहिने स्तंभ पर बक्से में तीन भरे हुए हैं, उनके नीचे कम से कम एक स्थान है, और फिर एक और बॉक्स में भरा हुआ है।
यहाँ वही पहेली है, लगभग पूरी:

(एक्स महत्वपूर्ण नहीं हैं, वे सिर्फ एक संकेत है कि खिलाड़ी खुद को यह कहने के लिए छोड़ देता है कि "यह वर्ग निश्चित रूप से भरा नहीं है"। माइन्सवेपर में झंडे के बारे में सोचें। उनका कोई नियम नहीं है।)
उम्मीद है कि आप देख सकते हैं, उदाहरण के लिए, "2 2" कहने वाले संकेत वाले मध्य स्तंभों में बक्से में दो 2-लंबाई के रन हैं।
आपका मिशन, क्या आपको इसे स्वीकार करना चाहिए, एक प्रोग्राम या फ़ंक्शन लिखना है जो इस तरह से एक पहेली बनाएगा। आपको स्टड पर या एक तर्क के रूप में एक पूर्णांक (5 <= n <= 50) के रूप में बोर्ड का आकार दिया जाता है (कोई कारण नहीं है कि एक नॉनोग्राम पहेली को वर्ग होना चाहिए, लेकिन इस चुनौती के लिए यह होगा)। उसके बाद, आपको छवि में भरे हुए और अधूरे वर्गों का प्रतिनिधित्व करते हुए क्रमशः 1s और 0s की एक श्रृंखला दी जाएगी। उनमें से पहला एन शीर्ष पंक्ति है, फिर अगली पंक्ति, आदि। आप 2 * 1 कोशिकाओं के एक बोर्ड को वापस करने के लिए लौटेंगे या प्रिंट करेंगे (क्योंकि वे बेहतर दिखते हैं, और यह आपको स्तंभ के लिए 2-अंकों के संकेत के लिए जगह देता है। ), वे सभी खाली हैं, जो इनपुट डेटा के अनुरूप संकेत के साथ हैं।
आउटपुट स्वरूप

नमूना
इनपुट:
./nonogram <<< '5 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 1 0'
OR
n(5,[0,1,1,1,0,1,1,0,1,1,1,0,1,0,1,1,1,0,1,1,0,1,1,1,0])
छवि:

आउटपुट:
1
2 1 2
3 2 1 2 3
+----------
3|
2 2|
1 1 1|
2 2|
3|
इनपुट:
./nonogram <<< '15 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1'
छवि:

आउटपुट:
1 1
1 1 3 3 5 5 3 3 1
7 2 3 2 4 2 3 210 2 3 0 4 215
+------------------------------
2|
1|
1|
1|
1|
1 1|
3 3 1 1|
1 5 1 1|
3 5 3|
1 5 1|
1 3 1|
1 1 1 1 1|
1 1 1 1 1 1 1 1|
11 3|
11 3|
स्पष्टीकरण
- आपके आउटपुट को सॉल्व करने योग्य पहेली नहीं होना चाहिए। सभी नॉनोग्राम्स सॉल्व नहीं होते हैं, लेकिन यह आपकी चिंता का विषय नहीं है। बस इनपुट के अनुरूप संकेत उत्पन्न करते हैं, चाहे वे एक अच्छी पहेली के लिए बनाते हों या नहीं।
- एक प्रोग्राम जो कमांड लाइन पर तर्क लेता है उसे अनुमति दी जाती है। यह ऊपर कहा गया है, लेकिन गलत विचार आना संभव है। यही स्पष्टीकरण हैं।
0एक पंक्ति या स्तंभ के लिए मुद्रण , जिसमें कोई बक्सा नहीं है, अनिवार्य है। मैं इसे शब्दों के साथ कहीं भी नहीं कहता, लेकिन यह नमूना डेटा में है।
5<=n<=50युक्ति है, इसलिए कोई भी 3-अंकीय संख्या नहीं हो सकती है
-अधिक नहीं होना चाहिए?