Bestimmen Sie anhand des Zustands eines quadratischen Gitters von Game of Life, ob es aus einem früheren Zustand hervorgegangen oder nur erschaffen worden sein könnte. Das heißt, identifizieren Sie, ob der Staat ein "Garten Eden" -Staat ist .
Eingang
Ein quadratisches Zustandsraster, wobei 1 "lebendig" und 0 "tot" bedeutet. Wenn Sie möchten, können Sie anstelle von 0 und 1 zwei beliebige unterscheidbare Symbole auswählen.
Die Seitenlänge des Gitters ist nicht Null, sondern kann eine beliebige natürliche Zahl 1 <= N <= 20 sein.
In dieser Generation sind möglicherweise einige oder alle Zellen außerhalb des Eingabegitters aktiv, und in der vorherigen Generation waren möglicherweise einige oder alle Zellen aktiv. Das zu betrachtende Universum ist unendlich, es gibt also keine Randbedingungen. Die Ränder der Eingabe sind nicht die Ränder des Universums. Insbesondere wird das Raster nicht umgebrochen.
Die Eingabe kann in Form einer zeilenbegrenzten Zeichenfolge oder einer einzelnen Zeichenfolge erfolgen. Wenn Sie möchten, können Sie die Seitenlänge oder den Bereich des Rasters als zusätzliche Eingabe verwenden (vor oder nach dem Raster).
Akzeptable Eingabeformate:
010,101,010
010101010
010
101
010
3 010101010
Ausgabe
"Erstellt", wenn kein möglicher vorheriger Zustand (einschließlich Zuständen, die größer als das Eingaberaster sind) vorliegt, der zu dem Eingabezustand bei der nächsten Generation führen würde.
"Entwickelt", wenn mindestens ein möglicher vorheriger Zustand vorhanden ist (einschließlich Zustände, die größer als das Eingaberaster sind), der bei der nächsten Generation zum Eingabezustand führen würde.
Sie können statt "Erstellt" und "Entwickelt" auch zwei beliebige unterscheidbare Zeichenfolgen oder Zahlen verwenden.
Beachten Sie, dass sich der mögliche vorherige Status nicht von der Eingabe unterscheiden muss. Wenn ein Staat sich selbst als nächste Generation hat, sollte er als weiterentwickelt betrachtet werden.
Testfälle
010
101
010 Evolved
0101110100
0010101001
1011100110
0101111101
1001001111
1111001001
1011111010
0110011101
1001010100
0010111010 Created
Der erstellte Testfall stammt von Achim Flammenkamps Game of Life Page .
Hinweis
Vielen Dank an Trichoplax für das Schreiben dieser Herausforderung und ich habe sie von hier aus angenommen
m
-by-n
alle möglichen2^(m*n)
Anfangszustände teste , ist die Programmkomplexität groß, aber das Problem wird gelöst, indem ich nur überprüfe, ob das Ergebnis mit der Eingabe übereinstimmt