- 21, Oct 2024
- #1
Этот вопрос о абелевы песочницы. Читать это предыдущее испытание и посмотри это нумерофильское видео чтобы узнать больше.
Абелева песочница размером н к н представляет собой сетку, содержащую числа 0, 1, 2 и 3 (представляющие количество песчинок). При добавлении двух песочниц сначала добавляется элемент за элементом, а затем свержение любой элемент, превышающий 3. Порядок, в котором вы опрокидываете, не имеет значения, конечный результат тот же. Когда ячейка опрокидывается, ее число уменьшается на 4, а число каждого из ее прямых соседей увеличивается на 1. Это может вызвать цепную реакцию. Если ячейка находится на краю сетки, все зерна, выпавшие за пределы сетки при опрокидывании, исчезнут.
Например, я добавляю две песочницы размером 3 на 3 (что приводит к довольно экстремальной цепной реакции):
0, 1, 2, 3
В этой задаче нас интересует подмножество всех возможных н к н песчаные кучи. Это подмножество содержит любую песочницу, которую вы можете получить, добавив произвольную песочницу к «всем тройкам». н к н песочница. Например, чуть выше мы видели, что 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
is in the subset, because we got it by adding something to the all-3 sandpile.
Теперь в этом подмножестве есть интересный элемент: личность элемент. Если вы возьмете этот элемент и добавите его в любой другой элемент в подмножество, сумма не изменится. Другими словами, эта куча песка действует как ноль этого подмножества. Так уж получилось, что 212 | 101 | 212
is the zero element for the subset of 3 by 3. For example:
212 | 101 | 212
Теперь это ваша задача: данный н, найдите единичный элемент подмножества н к н сетка. Выведите его, назначив каждому из цветов уникальный цвет с достаточным контрастом по вашему выбору. 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
and outputting an n by n image. Ваш код должен быть в состоянии создать корпус 50 на 50 менее чем за минуту на разумном современном ПК.
Например, элемент идентификации 500 на 500:
Вот синий = 3, зеленый = 2, красный = 1, белый = 0. Но вам не обязательно использовать эту цветовую схему в своем ответе.
#код-гольф #графический вывод #клеточные автоматы