printРабочее место участника

printЗадачи

1024. A + A + A + ...

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

16:23
Ну вот и еще один звонок от юзера. Хочет узнать, как изменить шрифт в бланке. Спросил его, какой чипсет он использует. Сказал ему, чтобы он перезвонил, когда узнает.

8:30
Разгневанный юзер позвонил, чтобы сказать, что чипсет не оказывает никакого влияния на шрифты в бланках. Сказал ему, что он абсолютно прав, только я ему говорил не про чипсет, а про битсет (интересно, что бы это могло быть?). Сконфуженный юзер извинился и повесил трубку.
Системный администратор изменил чипсет (или битсет?), и принтер начал выводить каждый символ несколько раз с некоторым смещением. При выводе буква "А" выглядит следующим образом:
..#..
.#.#.
#...#
#...#
#####
#...#
#...#
Символом '#' (ASCII 35) обозначены чёрные точки на бумаге, а символом '.' (ASCII 46) – точки, не изменившие цвет при выводе буквы.
Требуется написать программу, которая по распечатке размером `X\ times\ Y` точек определит количество букв А в ней и координаты, в которые они выводились. Левая верхняя точка имеет координаты `(0,\ 0)`. Никакая буква не выходит за границы распечатки.
Ввод
Первая строка входного файла содержит числа `X,\ Y`. Следующие `Y` строк по `X` каждая описывают изображение, причём символом '#' обозначены чёрные точки, а символом '.' – белые.
Вывод
В выходном файле должно содержаться число букв `N`, за которым следует `N` различных пар чисел `x_i\ y_i` – координаты верхнего левого угла каждой буквы. Если существует несколько решений, вывести любое из них.
Ограничения
`1\ ≤\ X,\ Y\ ≤\ 100`, `0\ ≤\ N\ ≤\ 10^4`

Пример ввода

6 7
..##..
.####.
##..##
##..##
######
##..##
##..##

Пример вывода

2
0 0
1 0
Источник: А. Жуплев, А. Кленин, ДВГУ, 2007
loading