10855. Блохи


Відправити розв'язок

Бали: 100
Time limit: 1.0s
Memory limit: 500M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

На клітинному полі, розміром \(𝑁 \times 𝑀\) (\(2 ≤ 𝑁 , 𝑀 ≤ 250\)) сидить \(𝑄\) (\(0 ≤ 𝑄 ≤ 10000\)) бліх у різних клітинах. "Прийом їжі" блохами можливий тільки в годівниці - одна з клітин поля, наперед відома. Блохи переміщаються по полю дивним чином, а саме, стрибками, що збігаються з перебігом звичайного шахового коня. Довжина шляху кожної блохи до годівниці визначається як кількість стрибків.

Визначити мінімальне значення суми довжин шляхів бліх до годівниці або якщо зібратися блохам у годівниці неможливо, то повідомити про це. Збір неможливий, якщо хоча б одна з бліх не може потрапити до годівниці.

Формат вхідних даних

У першому рядку знаходиться 5 чисел, розділених пробілом: \(N,M,S,T,Q\) . \(𝑁, 𝑀\) - розміри дошки (відлік починається з 1); \(𝑆 , 𝑇\) - координати клітини - годівниці (номер рядка і стовпця відповідно), \(𝑄\) - кількість бліх на дошці. І далі \(𝑄\) рядків по два числа – координати кожної блохи.

Формат вихідних даних

Містить одне число - мінімальне значення суми довжин шляхів або -1, якщо збір неможливий.

Приклад вхідних даних

2 2 1 1 1
2 2

Приклад вихідних даних

-1

Коментарі

Ще немає коментарів.