एक वर्ग गेम ऑफ लाइफ ग्रिड की स्थिति को देखते हुए, यह निर्धारित करें कि क्या यह किसी भी पिछले राज्य से विकसित हो सकता है, या केवल बनाया जा सकता है। यही है, पहचानें कि क्या राज्य "गार्डन ऑफ़ ईडन" राज्य है ।
इनपुट
राज्यों का एक वर्ग ग्रिड, जिसमें 1 "जीवित" और 0 "मृत" इंगित करता है। आप चाहें तो 0 और 1 के बजाय किसी भी दो अलग-अलग प्रतीकों को चुन सकते हैं।
ग्रिड की साइड की लंबाई शून्य नहीं होगी, लेकिन यह किसी भी प्राकृतिक संख्या 1 <= N <= 20 हो सकती है।
इनपुट ग्रिड के बाहर कोई भी या सभी कोशिकाएं इस पीढ़ी में जीवित हो सकती हैं, और उनमें से कोई भी या सभी पिछली पीढ़ी में जीवित हो सकती हैं। माना जाने वाला ब्रह्मांड अनंत है, इसलिए कोई सीमा नहीं है। इनपुट के किनारे ब्रह्मांड के किनारे नहीं हैं। विशेष रूप से, ग्रिड लपेटता नहीं है।
इनपुट पंक्ति सीमांकित स्ट्रिंग, या एकल स्ट्रिंग के रूप में हो सकता है। यदि आप चाहें, तो आप अतिरिक्त इनपुट (ग्रिड के पहले या बाद) के रूप में साइड की लंबाई या ग्रिड के क्षेत्र को ले सकते हैं।
स्वीकार्य इनपुट प्रारूप:
010,101,010
010101010
010
101
010
3 010101010
उत्पादन
"बनाया गया" यदि कोई संभावित पिछली स्थिति (इनपुट ग्रिड से बड़े राज्यों सहित) है जो अगली पीढ़ी पर इनपुट स्थिति का नेतृत्व करेगा।
"विकसित" यदि कम से कम एक संभव पिछली स्थिति (इनपुट ग्रिड से बड़े राज्यों सहित) मौजूद है जो अगली पीढ़ी पर इनपुट राज्य का नेतृत्व करेगा।
यदि आप चाहें तो "निर्मित" और "विकसित" के बजाय किसी भी दो अलग-अलग तार या संख्याओं का उपयोग कर सकते हैं।
ध्यान दें कि संभव पिछली स्थिति इनपुट से अलग नहीं होनी चाहिए। यदि किसी राज्य के पास खुद की अगली पीढ़ी है, तो इसे विकसित माना जाना चाहिए।
परीक्षण के मामलों
010
101
010 Evolved
0101110100
0010101001
1011100110
0101111101
1001001111
1111001001
1011111010
0110011101
1001010100
0010111010 Created
बनाया गया टेस्ट केस अचिम फ्लेममेनकैंप के गेम ऑफ लाइफ पेज से लिया गया है ।
ध्यान दें
इस चुनौती को लिखने के लिए ट्राइकोप्लेक्स के लिए धन्यवाद और मैंने इसे यहां से अपनाया
m
- इनपुट के इनपुट के लिए-n
, अगर मैं सभी संभावित2^(m*n)
प्रारंभिक अवस्थाओं का परीक्षण करता हूं, तो कार्यक्रम की जटिलता बड़ी होगी, लेकिन यह समस्या को हल करके जांचता है कि क्या परिणाम इनपुट से मेल खाता है