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

printЗадачи

1845. Место встречи

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

Петя должен срочно встретиться со своими друзьями. Он обзвонил друзей и узнал их местонахождение. У каждого из друзей Пети на телефоне есть карта местности, разбитая на клетки. Пете нужно выбрать место для встречи, в которое все смогут попасть за минимальное время, и разослать его координаты друзьям. За одну секунду Петя и его друзья могут перейти из клетки, в которой находятся, в соседнюю по горизонтали или вертикали клетку, свободную от препятствий. В одной клетке может находиться любое количество людей одновременно. Пришедшие на место встречи раньше других должны подождать всех остальных.
Напишите программу, определяющую координаты места встречи и минимальное время, которое потребуется для того, чтобы Пети и его друзья смогли до него добраться.
Формат ввода
Первая строка ввода содержит три целых числа `N`, `M` и `K` (`2\ ≤\ N,M\ ≤\ 1000`, `2\ ≤\ K\ ≤\ 9`). Далее следует `N` строк, содержащих по `M` символов — карта местности. Символом '#' на карте обозначены препятствия и здания, символом '.' – свободная клетка, цифрой от 1 до `K` – текущее местонахождение Пети и его друзей, также свободная от препятствий клетка. Гарантируется, что любой из друзей может дойти до Пети двигаясь только по свободным клеткам.
Формат вывода
В первой строке вывести одно целое число – минимальное время до встречи. Во второй строки вывести координаты места встречи — номер строки и номер столбца через пробел. Если существует несколько вариантов для места встречи, то можно вывести любой из них.

Пример ввода

3 4 3
1..2
###.
3...

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

4
2 4
loading