Kare bir Hayat Oyunu ızgarasının durumu göz önüne alındığında, önceki herhangi bir durumdan evrimleşmiş olabilir mi yoksa sadece yaratılabilir mi olduğunu belirleyin. Yani, devletin "Cennet Bahçesi" devleti olup olmadığını belirleyin .
Giriş
1 kare "canlı" ve 0 "ölü" anlamına gelen kare şeklinde bir kare ızgara. İsterseniz 0 ve 1 yerine iki ayırt edilebilir sembol seçebilirsiniz.
Izgaranın yan uzunluğu sıfır olmayacaktır, ancak herhangi bir doğal sayı 1 <= N <= 20 olabilir.
Giriş ızgarasının dışındaki hücrelerin herhangi biri veya tümü bu nesilde canlı olabilir ve bunların herhangi biri veya tümü önceki nesilde canlı olabilir. Dikkate alınacak evren sonsuzdur, bu yüzden sınır koşulları yoktur. Girdinin kenarları evrenin kenarları değildir. Özellikle, ızgara sarılmaz.
Giriş, satırla ayrılmış bir dize veya tek bir dize biçiminde olabilir. İsterseniz, ızgara uzunluğunu veya alanını ek bir giriş olarak alabilirsiniz (ızgaradan önce veya sonra).
Kabul edilebilir giriş biçimleri:
010,101,010
010101010
010
101
010
3 010101010
Çıktı
Gelecek nesilde giriş durumuna yol açabilecek olası bir önceki durum (giriş ızgarasından daha büyük durumlar dahil) varsa "Oluşturuldu".
Gelecek nesilde giriş durumuna yol açabilecek en az bir olası önceki durum (giriş ızgarasından daha büyük durumlar dahil) varsa "evrimleşti".
İsterseniz "Oluşturuldu" ve "Geliştirildi" yerine iki ayırt edilebilir dize veya sayı kullanabilirsiniz.
Olası önceki durumun girişten farklı olması gerekmediğini unutmayın. Eğer bir devletin bir sonraki nesil olması durumunda, o zaman evrim geçirilmiş sayılmalıdır.
Test senaryoları
010
101
010 Evolved
0101110100
0010101001
1011100110
0101111101
1001001111
1111001001
1011111010
0110011101
1001010100
0010111010 Created
Oluşturulan test senaryosu Achim Flammenkamp'in Hayat Oyunu Sayfasından alınmıştır .
Not
Bu zorluğu yazdığı için trichoplax'a teşekkürler ve buradan kabul ettim
m
-By- boyutunda bir girdi için,n
tüm olası2^(m*n)
başlangıç durumlarını test edersem , program karmaşıklığı büyük olur, ancak sonucun girişle eşleşip eşleşmediğini kontrol ederek sorunu çözer