eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Тетріс

Тетріс

Нещодавно програміст Антон взнав про існування гри "Тетріс++". Гра дуже схожа на звичайний, усім звичний тетріс, але є декілька відмінностей. Правила гри "Тетріс++": Ігрове поле являє собою клітчате поле висотою \textbf{N} та шириною \textbf{M} квадратиків, на дні якого можуть знаходитись квдратики різних розмірів. На початку гри з лівого верхнього кута починає падати фігурка, яка має вигляд вертикального прямокутника розміром \textbf{3}×\textbf{1}, кожен з квадратиків якого пофарбовано у деякий колір. У момент появи фігурки на дошціе гравець може моментально посунути її на довільну цілу кількість клітинок праворуч і зсунути клітинки фігурки циклічно вгору довільну кількість разів. Далі фігурка падає донизу до тих пір, доки не "встане" на лежачий квадратик чи на дно ігрового поля. Після падіння фігурки починається саме цікаве: усі послідовності, які складаються з не менше ніж \textbf{3}-х квадратиків одного кольору, і лежать підряд на одній вертикалі, горизонталі чи діагоналі, одночасно миттєво щезають. Усі кольорові квадратики, розміщені вище щезнувших, миттєао і одночас падають униз. Якщо після падіння утворюються нові послідовності з \textbf{3}-х і більше квадратиків одного кольору, то вони одночасно щезають і так далі. Мата гри залишити на дошці мінімально можливу кількість кольорових квадратиків. Допоможіть Антону визначити, на скільки позицій потрібно перемістити падаючу фігурку праворуч і скільки разів її циклічно зсунути вгору, щоб у кінці кінців на полі залишилось якомога менше квадратиків. \InputFile У першому рядку розміщені числа \textbf{N} та \textbf{M}, відокремлені пропуском (\textbf{4} ≤ \textbf{N} ≤ \textbf{26}, \textbf{1} ≤ \textbf{M} ≤ \textbf{15}). У кожному з наступних \textbf{N} рядків розміщено по \textbf{M} чисел, відокремлених пропусками, які описують початковий стан ігрового поля (зверху донизу). Числа від \textbf{1} до \textbf{9} при цьому позначають колір відповідного квадратика, а число \textbf{0} - відсутність кольорового квадратика на даному місці ігрового поля. В останніх трьох рядках розміщено три числа - кольори (від \textbf{1} до \textbf{9}) квадратиків (зверху донизу) падаючої фігурки. Гарантується, що верхні чотири рядки ігрового поля не містять кольорових квадратиків. \OutputFile Потрібно вывести \textbf{3} числа, відокремлених одне від одного пропусками. Перше число - кількість одиниць, на які потрібноя посунути фігурку праворуч (від \textbf{0} до \textbf{M-1}). Друге число - потрібне число циклічних зсувів (від \textbf{0} до \textbf{2}). Третє - сумарна кількість щезнувших у результате падіння фігурки квадратиків. Якщо оптимальних розв'зків більше одного, потрібно вивести розв'язок з мінімальною кількістю переміщень фігурки праворуч, а якщо і таких розв'язків декілька, то розв'язок з мінімальним числом переміщень фігурки і мінімальним зсувом.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
6 6
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
1 0 1 1 0 0
1
1
1
Вихідні дані #1
1 0 6