Задача C. Ещё корабль...

Автор:А. Жуплев   Ограничение времени:1 сек
Входной файл:input.txt   Ограничение памяти:256 Мб
Выходной файл:output.txt  
Максимальный балл:50  

Условие

Игра в "морской бой" происходит на поле размером 10 на 10 клеток. Некоторые клетки могут быть заняты кораблями. Каждый корабль занимает от 1 до 4 клеток, расположенных подряд по вертикали или горизонтали.

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

Требуется определить количество возможных вариантов расположения корабля длиной K на оставшихся клетках.

Отправка решения и тестирование

Данная задача будет проверяться на ОДНОМ входном файле, содержащем все тесты. Этот файл можно скачать ЗДЕСЬ.

В качестве решения принимается как программа, так и текстовый файл, содержащий ответ к задаче в требуемом формате (при его отправке следует выбрать в тестирующей системе среду разработки "Answer text").

Баллы будут начисляться пропорционально количеству правильных ответов в выходном файле. Решение будет полностью проверяться сразу после отправки, и участникам будут видны набранные за данную задачу баллы.

Формат входного файла

Первая строка входного файла содержит целое число N — количество тестов в данном файле

Далее N идёт блоков с описанием тестов:

Формат выходного файла

Выходной файл должен содержать N целых чисел, по одному в строке — ответы на каждый тест.

Примеры тестов

Входной файл (input.txt) Выходной файл (output.txt)
1
2
1
..........
..........
..X.......
..........
........X.
..........
..........
.X........
........X.
..........

4
.X..X..X..
..X..X...X
.X..X..XX.
X.XX..X..X
..X.X...X.
X...XX.X..
.X.X...X..
X.X...X...
...X....X.
X....X...X

96
5

0.037s 0.008s 17