eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Помста Вороного

Помста Вороного

Дискретна діаграма Вороного є похідною від діаграми Вороного. Вона утворюється множиною точок. Кожна з утворюючих лежить у центрі деякої точки. Кожна точка відноситься до тієї утворюючої, відстань по Манхетену до яко мінімальна. Манхетенською відстанню \textbf{d} між двомя точками (\textbf{x_1}, \textbf{y_1}) та (\textbf{x_2}, \textbf{y_2}) обчислюється по формулі: \textbf{d = |x_1 − x_2| + |y_1 − y_2|} Вам необхідно знайти множину утворюючих, які генерють задану дискретну діаграму Вороного. Кожна утворююча задається у ній унікальною літерою нижнього регістру, яка є її ідентифікатором. Кожна точка задається ідентифікатором утворюючої, до якої вона належить. Якщо точка має декілька утворюючих, які знаходяться від неї на однаковій відстані, то вибрати слід ту, яка має найменший ідентифікатор (тобто найменший символ). \InputFile Вхідні дані складаються з декількох тестів. Перший рядок кождого тесту містить два цілих числа \textbf{W} (\textbf{1} ≤ \textbf{W} ≤ \textbf{32}) і \textbf{H} (\textbf{1} ≤ \textbf{H} ≤ \textbf{32}) - ширину і висоту дискретної діаграми Вороного. Кожен з наступних \textbf{H} рядків складається з \textbf{W} літер, які описують дискретну діаграму Вороного. Кожна літера задає одну точку. Останній рядок містить два нулі і не опрацьовується. \InputFile Для кожного тесту вивести координати утворюючих як показано у прикладі. Кажен рядок, який описує утворюючу, повинен містити її ідентифікатор, а також \textbf{x}-координату та \textbf{y}-координату. Утворюючі слід виводити у алфавітному порядку їх утворюючих. Координати починаються з нуля, (\textbf{0}, \textbf{0}) є центром точки, яка знаходиться у верхньому лівому куті діаграми. Кожен тест має хоча б один розв'язок. Якщо розв'язків декілька, можна вивести довільний. Після кожного тесту слід виводити пустий рядок, включаючи останній тест.
Ліміт часу 10 секунд
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
4 3
ooxx
ooxx
ooxx
4 1
null
4 4
aabb
aabb
ccdd
ccdd
0 0
Вихідні дані #1
Case 1:
o 0 0
x 2 0

Case 2:
l 2 0
n 0 0
u 1 0

Case 3:
a 0 0
b 2 0
c 0 2
d 2 2