Загрузка [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js
 

printРайонно-городские командные соревнования

print2. Кроссворд

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Вы нарисовали сетку для кроссворда, и теперь необходимо заполнить его словами. Для этого необходимо знать, сколько в кроссворде слов определенной длины. Напишите программу, выполняющую такие расчеты.
Во входном файле несколько тестов. В первой строке каждого теста содержатся два целых числа N и M через пробел – размеры сетки кроссворда (3 , 3\ ≤\ M\ ≤\ 50). Далее следует N строк, содержащих по M символов '.' (пустая клетка) и 'X' (черная, неиспользуемая клетка). Строка, содержащая "0 0", сигнализирует о завершении набора тестов и не обрабатывается.
В выходной файл для каждого теста вывести строку, содержащую информацию о количестве слов каждой длины в форме L-K через пробел в порядке возрастания L, где L – длина слова (L\ ≥\ 2), K – количество слов такой длины (K\ >\ 0).

Пример ввода

5 6
X....X
X.XX.X
...X..
X.XX.X
..X...
3 3
...
...
...
0 0

Вывод для примера

2-2 3-2 4-1 5-2
3-6

loading