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

Колекціонування пейджерів

Колекціонування пейджерів

Карел - робот, який живе у прямокутній системі координат, де кожне місце у множині позначено цілочисельними координатами (\textbf{x} та \textbf{y}). Ваша задача полягає у написанні програми, яка допоможе Карелу зібрати ряд пейджерів, які знаходяться у його світі. Для цього необхідно направити Карела до місця, де джерело кожного із звукових сигналів знаходиться. Ваша задача написати комп'ютерну програму, яка знаходить довжину найкоротшого шляху, необхідного Карелу, щоб зібрати усі пейджери і повернутись назад у початкове положення. Карел может рухатись лише вздовж осей \textbf{x} та \textbf{y}, але не по діагоналі. Перехід від однієї позиції (\textbf{i}, \textbf{j}) у сусідню позицію (\textbf{i}, \textbf{j+1}), (\textbf{i}, \textbf{j-1}), (\textbf{i-1}, \textbf{j}) або (\textbf{i+1}, \textbf{j}) має одиничну вартість. Можно припустити, що світ Карела ніколи не буває більше квадрату \textbf{20}×\textbf{20}, і що ніколи не буде задано зібрати більше \textbf{10} пейджерів. Кожна координата будет подана у вигляді пари (\textbf{x}, \textbf{y}), де кожне значення буде у межах \textbf{1} по розміру вказаного напрямку системи координат. \InputFile Спочатку йде рядок, який містить кількість сценаріїв, у яких вас просять допомогти Карелу. На початку кожного сценарію спочатку йде рядок, який мітить розмір світу. Він містить два цілих числа \textbf{х} та \textbf{у}. Далі йде рядок, який містить координати початкового положення Карла. У наступному рядку задано одне число: кількість пейджерів -- джерел звукового сигналу. Кожне джерело звукового сигналу задано далі у окремому рядку, який містить два числа - координати кожного звукового сигналу. \OutputFile Для кожного сценарію у окремому рядку виведіть шуканий результат - мінімальну відстань, яку повинен пройти Карел, щоб зібрати усі пейджери і повернутись у початкове положення.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
1
10 10
1 1
4
2 3
5 5
9 4
6 5
Вихідні дані #1
The shortest path has length 24