Ця публікація натхненна цією публікацією про перегляд потоків .
Ванішер - це будь-який зразок у грі життя Конвея, який повністю зникає після одного кроку. Наприклад, наступна схема - розмір 9 ванішерів.
Цікавою властивістю Vanishing є те, що будь-який візерунок може бути перетворений на випадок, просто додавши більше живих клітин. Наприклад, наступний зразок може бути повністю укладений у такий зниклий візерунок
Однак ми можемо перетворити цей зразок у ванішер, додавши ще менше живих клітин.
Ваше завдання - написати програму, яка виконує це завдання для нас. Це задано шаблон як вхід знаходження та виведення зникаючого шаблону, що містить вхід. Не обов’язково знаходити оптимальний візерунок просто шаблон, який працює.
Оцінка балів
Щоб оцінити свою програму, вам доведеться запустити її на всіх поліплетах розміром 6 (не подвійний підрахунок симетрично еквівалентних випадків). Ось пастабін, що містить кожен поліплет у власному рядку. Всього їх має бути 524. Вони представлені у вигляді списку з шести координат ( (x,y)
кортежів), кожен з яких є місцезнаходженням живої комірки.
Ваша оцінка буде загальною кількістю нових осередків, доданих для перетворення всіх цих поліплетів у Vanishing.
Краватки
У випадку зв’язків я надам перелік поліплетів розміром 7 для програм, які можна запускати.
IO
Я хотів би, щоб IO був досить гнучким, ви можете приймати введення та вихід у розумних форматах, однак, ймовірно, ви захочете взяти вхід у тому ж форматі, що і вихідні дані, які я надав. Ваш формат повинен бути узгодженим для кількох циклів.
Хронометраж
Ваша програма повинна працювати в розумний проміжок часу (приблизно <1 день) на розумній машині. Я не збираюсь насправді це занадто сильно застосовувати, але я вважаю за краще, якщо б ми всі грали добре.