Час

07:49:58
25 May 2012
Версія для друку

Двомірне доміно

 prb156  Кожен елемент двомірного доміно являє собою квадрат, сторони якого несуть на собі числа від 0 до 3, записані у двійковій системі числення. Доміно вважається складеним вірно, якщо кожна пара квадратів доміно, що мають спільну сторону, містить на цій стороні одне й те ж число.

   Потрібно визначити, чи вірно складено доміно і чи можна додати до нього ще один заданий елемент так, щоб він мав сільну сторону хоча б з одним із заданих квадратів. При додаванні елемент можна довільним чином обертати, але не перевертати.


Технічні умови

   Вхідні дані

   У першому рядку вхідного файлу через пропуск задано розміри прямокутника, шо містить у собі вже складене доміно: 2N, M100. Кожен з наступних N рядків містить через пропуск опис М позицій у прямокутнику у наступному вигляді:

   • пуста позиція позначається ZZ;

   • елемент, що займає не пусту позицію, задається шістнадцятковим текстовим представленням одного байту, у якому кожні два біти вказують число на одній зі сторін. Сторони перераховуються за годинниковою стрілкою, починаючи з лівої.

   Останній рядок містить опис елемента, який пропонується додати до вже складеного набору. Припускається, що додавання відбувається у межах того ж прямокутника N×M.

   Вихідні дані

   У вихідному файлі повинно міститись одне з трьох слів:

   • ERROR (доміно складено невірно);

   • YES (доміно складено вірно, елемент додадти можна);

   • NO (доміно складено вірно, еле елемент додати не можна).


Інформація про задачу

Ліміт часу: 1 секунда
Ліміт пам`яті: 64 MB
Бали за пройдений тест: 4
Складність: 53% 9/19

Приклад

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

2 2
50 ZZ
8D FF
3F

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

YES


← Науковий проект Список задач Зоопарк →