`Всеукраїнський центр проведення олімпіад в мережі Інтернет

G2048

У свій вільний час Гаррі Поттер з друзьями дуже полюбляють грати в інтелектуальні ігри і Герміона принесла їм нову гру. Її поле для гри має форму квадрата розміром 4х4. Перед першим ходом гри в деяких двох різних довільно обраних клітинках знаходяться плитки номіналу «2». Далі на кожному ході у довільно обраній вільній клітинці з’являється нова плитка номіналу «2». Натисканням стрілки гравець може зсунути всі плитки ігрового поля в одну з чотирьох сторін (уверх/вліво/униз/вправо). Якщо при виконанні дві плитки одного номіналу «налітають» одна на одну, вони зливаються в одну, номінал якої дорівнює сумі злитих. Наприклад, якщо дві плитки з номіналом «2» налетіли одна на одну, вони заміняються на одну плитку з номіналом «4» (2+2). При цьому ігрові бали збільшуються на номінал нової створеної плитки (у даному випадку на 4). За один хід може виконатися кілька операцій злиття і в цьому випадку всі бали додаються. Наприклад, розглянемо такий стан гри:

 

G2048

Зсув вліво у цьому випадку додає дві «2» та дві «8» і дає 4+16=20 очок.
Після цього у довільній вільній клітинці з’являється 2.

Гаррі почав грати у запропоновану гру, але чергові події, пов’язані з відкриттям Таємної кімнати, відволікли його у самий розпал гри. Не довідавшись нічого нового, Гаррі повернувся у свою кімнату і вирішив продовжити гру. Однак після такої колотнечі він зовсім забув, скільки очок встиг заробити. Тепер він просить Герміону допомогти йому за поточним станом поля гри підрахувати, скільки очок він вже заробив.

Формат введення-виведення:

Програма G2048 зчитує з клавіатури (стандартного пристрою введення) чотири рядки по чотири числа у кожному. Пусті клітинки позначені нулями, непусті можуть містити тільки степені двійки, тобто числа 2, 4, 8, 16, 32, …, 65536 таким чином, що поле в цілому може бути правильною кінцевою або проміжною позицією розглянутої гри.

Програма G2048 виводить на екран (стандартний пристрій виведення) єдине число – шукану кількість очок.

Приклад вхідних та вихідних даних:

Введення

Виведення

0 0 0 4

0 0 0 0

0 2 0 0

0 0 0 2

4

0 0 0 2

2 0 0 0

0 0 2 4

0 2 4 8

24

 


 

© LIKT 1998-2024