01418232 Algorithm Design and Analysis 2553: knight

ในการเล่นหมากรุก หมากแต่ละตัวบนกระดานจะมีพลังและลักษณะการเดินที่ไม่เหมือนกัน เช่น เรือจะเดินเป็นเส้นตรงอย่างเดียว และจะเดินกี่ก้าวก็ได้ ส่วนม้าหรือภาษาอังกฤษเรียกว่า knight นั้นจะเดินเป็นตัว L กล่าวคือ เดินได้แค่ 3 ก้าว และต้องมีรูปแบบการเดินตรงตามกำหนดดังนี้ ภาพด้านล่างแสดงถึงการเดินที่เป็นไปได้ของม้าสีดำและขาว ม้าที่ดำอยู่กลางๆกระดาน มีตัวเลือกในการเดินอยู่ 8 แบบตามจุดสีดำในภาพ ส่วนม้าสีขาวที่ออยู่ติดขอบกระดานจะมีจำนวนการเดินที่จำกัดขึ้น
 * เดินแนวนอน 2 ก้าวก่อนจากนั้นต่อด้วยแนวตั้งอีก 1 ก้าว หรือ
 * เดินแนวตั้ง 2 ก้าวก่อนจากนั้นต่อด้วยแนวนอนออีก 1 ก้าว 1 ก้าว

(ภาพจาก wikipedia)

ในการบ้านข้อนี้ เราจะจัดการแข่งม้าบนกระดานนี้ขึ้น โดยที่กระดานหมากรุกจะมีขนาก N x N (1 <= N <= 100)
 * จะมีม้าอยู่บนกระดานอยู่ K ตัว (1 <= K <= 100) แต่ละตัวจะมีจุดเริ่มต้นของตน ที่อาจจะซ้ำกับม้าตัวอื่นได้
 * ไม่มีหมากตัวอื่นๆนอกจากม้า K ตัวนี้อยู่บนกระดานเลย
 * และม้าเหล่านี้สามารถยืนอยู่บนช่องเดียวกันบนกระดานได้ (ไม่มีการกีดขวางกัน)
 * จะมีจุดหนึ่งจุดบนกระดานที่เป็นเส้นชัย
 * ในการแข่งขัน เราต้องการรู้ว่า ม้าแต่ละตัวใช้จำนวนก้าวในการไปถึงเส้นชัยที่สั้นที่สุดเป็นเท่าใด

จงเขียนโปรแกรมเพื่อหาจำนวนก้าวที่น้อยที่สุดของม้าแต่ละตัวนี้

ข้อมูลเข้า

 * บรรทัดที่ 1 มีจำนวนเต็ม N (1 <= N <= 100) หมายความว่ากระดานจะมีขนาด N x N
 * บรรทัดที่ 2 มีจำนวนเต็ม x และ y (0 <= x, y < N) แสดงถึงแถวและคอลัมน์ของจุดที่เป็นเส้นชัย ตามลำดับ
 * บรรทัดที่ 3 มีจำนวนเต็ม K เป็นจำนวนของม้า โดยที่ (1 <= K <= 100)
 * อีก K บรรทัดต่อไปมีจำนวนเต็มอยู่บรรทัดละสองตัว xi และ yi (0 <= xi, yi < N) แสดงถึงจุดพิกัดที่เป็นจุดเริ่มต้นของม้าตัวที่ i (1 <= i <= K)

ข้อมูลออก
มีอยู่ K บรรทัด โดยที่
 * บรรทัดที่ i (1 <= i <= K) จะเป็นจำนวนก้าวของม้าตัวที่ i

ตัวอย่าง 1
หมายความว่า ข้อมูลเข้าเป็นกระดานขนาด 8 x 8

ถ้าเรามองกระดานนี้เป็นแถวและคอลัมน์ ก็จะมีหน้าตาคล้ายด้านล่าง โดยที่ เส้นชัยของเรา คือ จุดสีแดงที่ (7,7) และมีม้าอยู่ 3 ตัว คือจุดสีเขียวที่ (1,1), (3,5), (5,6) ตามลำดับ

*|01234567 -+ 0|00000000 1|00 000000 2|00000000 3|000000 00 4|00000000 5|000000<font color="#00FF00">0 0</tt> 6|00000000</tt> 7|0000000 0 </tt>

ซึ่งถ้าเราลองเดินม้า 3 ตัวนี้ ก็จะเห็นได้ชัดว่า ม้าตัวแรกต้องใช้ถึง 4 ก้าวในการเดิน และตัวที่ 2 และ 3 ใช้ 2 และ 1 ก้าวตามลำดับ

ข้อกำหนด
โปรแกรมของคุณต้องหยุดการทำงานภายในเวลา 1 วินาที และใช้หน่วยความจำไม่เกิน 16 MB