सभी संभावनाओं को पारित करने के लिए सबसे छोटा कोड जीतता है
कई ग्रिड आधारित खेल बनाए गए हैं जो कि रोशनी की एक ग्रिड के साथ शुरू होते हैं जो चालू हैं। किसी भी लाइट को दबाने से उस रोशनी और उससे सटे चार लाइट्स को टॉगल किया जाता है। जब एक प्रकाश को टॉगल किया जाता है, तो इसे बंद या चालू किया जाता है, जो इस बात पर निर्भर करता है कि यह तीव्रता से चालू या बंद था। लक्ष्य एक क्रम में रोशनी को हिट करना है जिसके परिणामस्वरूप सभी रोशनी अंत में बंद हो जाती हैं।
"X" उन लाइटों का प्रतिनिधित्व करता है जो चालू हैं। "O" उन लाइटों का प्रतिनिधित्व करता है जो बंद हैं। "P" उस वर्ग को दर्शाता है जिसे दबाया जाता है।
XOO XOO XOX XOX XXX
XOX XOP -> XXO -> OPO -> XOX
OOX OOX POO XXO XOO
Intial Grid Press 1 Press 2 Press 3 Ending Grid
इनपुट को एक तर्क के रूप में पारित फ़ाइल से या मानक इनपुट के रूप में सीधे लिया जा सकता है। इनपुट की पहली पंक्ति में शामिल होंगे एक्स (1 <= एक्स <= 20), रोशनी की ग्रिड के आकार, जिसका अर्थ है एक्स से एक्स । दूसरी पंक्ति में y (0 <= y <= ( x * 3) 2 ) होगी, प्रारंभ में रोशनी की संख्या। अगली y लाइनों में ग्रिड पर रोशनी की रोशनी के निर्देशांक होते हैं, "पंक्ति स्तंभ" के प्रारूप में। पहले से ही बंद (पहले टॉगल किया गया है) रोशनी को फिर से टॉगल किया जाना चाहिए। अगली पंक्ति में z , रोशनी की संख्या दबाया जाएगा। अंतिम जेड पंक्तियों में दबाए गए रोशनी के निर्देशांक होते हैं, जिस क्रम में उन्हें दबाया गया था, "पंक्ति स्तंभ" के प्रारूप में।
कोई इनपुट गलत नहीं होगा। सभी नंबर ग्रिड की दी गई सीमाओं के भीतर होंगे।
सभी लाइट्स टॉगल होने के बाद आउटपुट फाइनल ग्रिड होगा। यह n n द्वारा n ग्रिड होना चाहिए । प्रत्येक क्षेत्र के लिए जो एक प्रकाश है जो ऊपर है, बड़े अक्षर "X" का उपयोग किया जाना चाहिए। प्रत्येक क्षेत्र के लिए एक प्रकाश है जो बंद है, अपरकेस वर्ण "O" का उपयोग किया जाना चाहिए।
ग्रिड से दूर होने वाली रोशनी को अनदेखा किया जाना चाहिए। ग्रिड के किनारे पर प्रकाश को टॉगल करना, केवल उन रोशनी को प्रभावित करना चाहिए जो ग्रिड पर हैं।
परीक्षण के मामलों
इनपुट
4
5
2 3
2 4
3 1
3 4
4 3
7
3 3
4 4
3 4
4 2
4 1
2 2
3 2
उत्पादन
OXOO
XOXO
XOXO
OXOO
इनपुट
1
3
1 1
1 1
1 1
2
1 1
1 1
उत्पादन
X