Queen
Ümumi bir şahmat taxtasında (ölçüləri mütləq 8×8 deyil) bir vəzir yerləşdirilib. Onun hazırda hansı xanada olduğu və hansı xanaya çatmalı olduğu məlumdur. Vəzifə, bəzi xanaların düşmən fiqurları ilə dolu olması ilə çətinləşir, lakin bu fiqurların hazırda möhkəm yuxuda olması səbəbindən vəzirin istədiyi qədər ardıcıl gediş edə bilməsi ilə asanlaşır. Düşmən fiqurların üzərindən atlamaq və ya onları vurmaq olmaz (çünki bu halda onlar oyanar).
Vəzirin belə bir hərəkət üçün lazım olan minimal gediş sayını tapacaq bir proqram yazın.
Giriş verilənləri
Proqram klaviaturadan şahmat taxtasının ölçülərini oxuyur: əvvəlcə şaquli xətlərin sayı w (2 ≤ w ≤ 26), sonra üfüqi xətlərin sayı h (2 ≤ h ≤ 99), sonra başlanğıc və son xananın koordinatları, daha sonra düşmən fiqurların sayı K (0 ≤ K ≤ w·h–2), və ardınca K cüt ədəd - hər bir düşmən fiqurunun koordinatları. Bütün ədədlər boşluqla ayrılır. Bütün xanaların koordinatları müvafiq olaraq w və h-dən çox olmayan təbii ədədlərdir. Əvvəlcə şaquli, sonra üfüqi daxil edilir. Başlanğıc və son olaraq göstərilən xanalar düşmən fiqurlar içermir; müxtəlif düşmən fiqurlar eyni xanada ola bilməz.
Çıxış verilənləri
Proqram ekrana tək tam ədəd çıxarmalıdır: ya göstərilən başlanğıc xanadan göstərilən son xanaya çatmaq üçün lazım olan minimal gediş sayı, ya da çatmağın mümkün olmadığını göstərmək üçün -1.