eolymp
bolt
Try our new interface for solving problems
Problems

Поход по одесским ресторанам

Поход по одесским ресторанам

\includegraphics{https://static.e-olymp.com/content/3b/3b7b70f263278843fe4a4554e772669098201715.jpg} Одесса -- очень знаменитый город. Её называют Одесса-мама -- ведь она стала родным домом для людей самых разных национальностей. И, что самое главное, все эти люди живут в мире и согласии, несмотря на разные культуры, взгляды, языки. И поэтому в Одессе есть рестораны, представляющие кухни самых разных культур. Туристы, конечно, любят поесть. Но интересно ведь попробовать и грузинскую национальную пищу, и французскую и итальянскую… Для этого надо перемещаться между ресторанами, на что уходит драгоценное время. Вы, как экономный программист хотите оптимизировать процесс перемещения между ресторанами. Вы нашли карту ресторанов Одессы, и теперь у вас есть всё необходимое. Национальности пронумерованы числами от \textbf{1} до \textbf{K}. На карте каждый ресторан обозначены номером национальности, которую он представляет. Вы решили посетить различные кухни в порядке их нумерации (\textbf{1}, \textbf{2}, \textbf{3} и т.д.), причем посетить кухню каждой национальности ровно один раз. Вы можете начать из любого ресторана первой кухни и закончить в любом ресторане \textbf{K}-й кухни. Найдите кратчайший по длине путь, который вас устроит. В Одессе улицы строго перпендикулярны (по крайней мере так утверждают экскурсоводы :) ), поэтому будем считать, что карта -- это прямоугольник \textbf{N}×\textbf{M}, разбитый на единичные квадраты. Перемещаться можно между квадратами, имеющими общую сторону. Также будем считать, что расстояние между клетками с координатами (\textbf{x_1}, \textbf{y_1}) и (\textbf{x_2}, \textbf{y_2}) равно \textbf{|x_2-x_1|+|y_2-y_1|}. Учтите, что вы можете проходить по квадрату с рестораном, не заходя в этот ресторан. \InputFile В первой строке заданы целые числа \textbf{N}, \textbf{M}, \textbf{К} (\textbf{1} ≤ \textbf{N}, \textbf{M} ≤ \textbf{100}, \textbf{1} ≤ \textbf{K} ≤ \textbf{N}×\textbf{M}). В следующих \textbf{N} строках по \textbf{M} чисел -- номер национальности (от \textbf{1} до \textbf{К}), которую представляет ресторан в этом единичном квадрате или \textbf{0}, если в нём нет ресторана. Гарантируется, что рестораны всех \textbf{K} национальностей есть на карте. \OutputFile Единственное число -- длина кратчайшего пути.
Time limit 8 seconds
Memory limit 16 MiB
Input example #1
2 3 3
1 1 2
3 0 1
Output example #1
4
Author Андрей Селиванов
Source III Открытая Дистанционная Олимпиада 2013-2014 им. В.Л.Дидковского