Олимпиадный тренинг

Задача . H. Морской бой


Вам дано расположение кораблей на доске 10 × 10 при игре в морской бой. На ней по правилам должно быть размещено:

  • четырехпалубных ­— 1 шт.;
  • трехпалубных — 2 шт.;
  • двухпалубных — 3 шт.;
  • однопалубных — 4 шт.

Корабли не должны «изгибаться» и касаться друг друга любым образом. Ваша задача для данного набора досок указать соответствуют ли они описанным правилам.

Входные данные

В первой строке записано число n (1 ≤ n ≤ 10) — количество досок. Каждая доска описывается 10 строками по 10 символов. Символ «0» обозначает, что клетка пуста, а символ «*», что занята. Описания досок разделяются пустыми строками.

Выходные данные

Выведите n строк YES или NO. Первое слово выводите, если доска соответствует правилам, а второе в противном случае.


Примеры
Входные данныеВыходные данные
1 2
****000000
0000000000
***00***00
0000000000
00000000**
000**00000
00000000**
000*000000
00000*00*0
0*00000000
****000000
0000000000
***00***00
0000000000
00000000**
000**00000
00000000**
0000*00000
00000*00*0
0*00000000
YES
NO

time 2000 ms
memory 64 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя