Враховуючи стан квадратної сітки гри Життя, визначте, чи вона могла розвинутись із будь-якого попереднього стану, чи лише могла бути створена. Тобто визначте, чи є держава державою «Едемський сад» .
Вхідні дані
Квадратна сітка штатів, в якій 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
Створений тестовий випадок взято зі сторінки «Життя життя Ахіма Фламменкампа» .
Примітка
Завдяки trichoplax для написання цього виклику, і я прийняв його звідси
m
-by-n
, якщо я перевіряю всі можливі2^(m*n)
початкові стани, складність програми буде великою, але вона вирішує проблему, просто перевіривши, чи відповідає результат вводу