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

Кораблі

Кораблі

Напевне, кожен, хто колись вчився у школі :) , знає, що є гра, у якій двоє гравців розміщують якусть множину кораблів на аркуші паперу в клітинку і намагаються знищити кораблі один одного, відгадавши їх розміщення. У нашій версії гри дозволено викпристовувати вам і вашому опоненту наступні сім моделей кораблів, розміщуючи їх на прямокутній сіткці у відповідних квадратах \includegraphics{https://static.e-olymp.com/content/ca/ca5fc07f886854db706566606a4db4986b2014a3.jpg} Кажен корабель на картинці займає рівно чотири квадрати. Кораблі можна повертати, але не можна віддзеркалювати. Гарантується, що усі кораблі буде повністю розміщено у межах заданого прямокутника, вони не перекривають один одного, а також дотикання іншого корабля чи його границі допускається. Можете вважати, що ми знаходимось в середині гри і декілька квадратів вже розкрито. Вам будет запропоновано ​​прямокутну сітку з інформацією про квадрати, яка задає поточне положення у грі позицій кораблів супротивника. Кожен квадратик відмічено одним з наступних символів: \begin{itemize} \item '\textbf{x}' якщо у вказаній клітинці знаходиться частина корабля \item '\textbf{o}' якщо жоден корабель не знаходиться у вказаній клітинці \item '\textbf{.}' якщо цю клітинку на даний момент не розкрито \end{itemize} Маючи цю інформацію, ви повинні сказати, чи можна визначити розміщення усіх інших частин кораблів ('\textbf{х}'), здійснивши при цьому не більше одного промаху, тобто, чи можете ви розкрити усі клітинки з символом '\textbf{.}', не оримавши при цьому більше однієї відповіді про промах ('\textbf{о}'), для того, щоб розкрити усі клітинки, які будуть позначені символом '\textbf{х}'. По суті це означає, що ви маєте право здійснити лише один промах ("\textbf{о}"), якщо після цього розв'язок стає унікальним. \InputFile Вхідний файл містить декілька ігрових ситуацій. Кожен тест починається з рядка, який містить два цілих числа \textbf{w} та \textbf{h}. Вони визначають ширину та висоту прямокутника гри, при цьому \textbf{2} ≤ \textbf{w}, \textbf{h} ≤ \textbf{16}. Кожен з наступних \textbf{h} рядків містить рядок з \textbf{w} символів. Кожен з цих символів '\textbf{x}', '\textbf{o}' або '\textbf{.}', у залежності від стану відповідної клітинки. Пустий рядок відокремлює кожну нову гру від попередньої. Вхідний файл завершується даними з \textbf{w = 0} та \textbf{h = 0}. Цю гру опрацьовувати не потрібно. \OutputFile Для кожного тесту необхідно спочатку вивести рядок, який містить номер гри (див. приклад вихідних даних), а далі рядок, який містить або '\textbf{yes.}' (якщо ви можете іизначити усі '\textbf{x}' здійснивши не більше одного промаху), або '\textbf{no.}' (якщо ви не можете визначити усі '\textbf{x}' без здійснення, по меншій мірі, двох промахів). Між різними іграми необхідно вивести пустий рядок.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
10 10
........oo
oooooxoooo
oxooxxxo..
xxoooooo..
xoooxooo.x
ooxxxxoooo
oooooxxoox
ooooooxoox
ooooooooxx
oooooooooo

0 0
Вихідні дані #1
Game #1
yes.