Diese Frage handelt von abelsche Sandhaufen . Lesen Sie diese vorherige Herausforderung und sehen Sie sich dieses Numberphile-Video an, um mehr zu erfahren.
Ein abelianischer Sandhaufen von Größe n mal n ist ein Gitter mit den Zahlen 0, 1, 2 und 3 (für die Anzahl der Sandkörner). Das Hinzufügen von zwei Sandhaufen funktioniert, indem Sie zuerst Element für Element hinzufügen und dann jedes Element stürzen , das über 3 hinausgeht. Die Reihenfolge, in der Sie stürzen, spielt keine Rolle, das Endergebnis ist dieselbe. Wenn eine Zelle umkippt, verringert sich ihre Anzahl um 4 und jeder ihrer direkten Nachbarn erhöht sich um 1. Dies kann eine Kettenreaktion verursachen. Befindet sich eine Zelle am Rand des Gitters, verschwinden alle Körner, die beim Umkippen vom Gitter fallen.
Zum Beispiel füge ich zwei 3 mal 3 Sandhaufen hinzu (was eine ziemlich extreme Kettenreaktion ergibt):
3 3 3 1 2 1 4 5 4 4 6 4 6 2 6 6 3 6 2 5 2 4 1 4 4 2 4 0 4 0 2 0 2 2 1 2
3 3 3 + 2 1 2 = 5 4 5 -> 6 0 6 -> 2 4 2 -> 3 0 3 -> 5 0 5 -> 1 4 1 -> 2 0 2 -> 4 0 4 -> 0 4 0 -> 1 0 1
3 3 3 1 2 1 4 5 4 4 6 4 6 2 6 6 3 6 2 5 2 4 1 4 4 2 4 0 4 0 2 0 2 2 1 2
In dieser Herausforderung sind wir in einer Teilmenge aller möglichen interessieren n von n sandpiles. Diese Untermenge enthält alle Sandpiles, die Sie erhalten können, indem Sie den all-3s n einen beliebigen Sandpile hinzufügen by n erhalten können . Zum Beispiel haben wir oben gesehen, dass dies 212 | 101 | 212
in der Teilmenge enthalten ist, weil wir es durch Hinzufügen von etwas zum Sandhaufen all-3 erhalten haben.
Jetzt hat diese Untergruppe ein interessantes Element: das Identitätselement . Wenn Sie dieses Element zu einem anderen Element in der Teilmenge hinzufügen , bleibt die Summe unverändert. Mit anderen Worten verhält sich dieser Sandhaufen wie eine Null dieser Teilmenge. Zufällig 212 | 101 | 212
ist dies das Null-Element für die Teilmenge von 3 mal 3. Zum Beispiel:
2 2 2 2 1 2 4 3 4 0 5 0 2 1 2 2 2 2
2 2 2 + 1 0 1 = 3 2 3 -> 5 2 5 -> 1 6 1 -> 2 2 2
2 2 2 2 1 2 4 3 4 0 5 0 2 1 2 2 2 2
Nun ist dies Ihre Herausforderung: gegebene n , das Identitätselement der Teilmenge des finden n durch n Gitter . Geben Sie es aus, indem Sie jedem 0, 1, 2, 3
Bild eine eindeutige Farbe mit einem ausreichenden Kontrast Ihrer Wahl zuweisen und ein n-mal-n-Bild ausgeben. Ihr Code muss in der Lage sein, auf einem vernünftigen modernen PC das 50 mal 50-Gehäuse in weniger als einer Minute zu erstellen.
Zum Beispiel das Identitätselement 500 x 500:
Hier ist Blau = 3, Grün = 2, Rot = 1, Weiß = 0. Aber Sie müssen dieses Farbschema in Ihrer Antwort nicht verwenden.