Mã và tốt

View as PDF

Submit solution


Points: 0.95 (partial)
Time limit: 0.6s
Memory limit: 512M
Input: stdin
Output: stdout

Problem source:
HAOI 2008 - Day 1 - Author: Phạm Hải Minh/Lê Ðôn Khuê
Problem types
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Trên một bài cờ vua kích thước vô hạn có một con mã và một con tốt. Vị trí của quân mã là ~(M_x, M_y)~, vị trí của quân tốt là ~(T_x, T_y)~, trong đó ~x~ là chỉ số dòng và ~y~ là chỉ số cột. Quân mã được quyền đi theo ~8~ hướng như ở bàn cờ vua chuẩn. Quân tốt chỉ được đi một hướng là đi xuống dưới ( từ vị trí ~(x, y)~ đến vị trí ~(x-1, y)~ ). Hai quân cờ sẽ di chuyển theo lượt, xen kẽ nhau. Khi một quân cờ vào vị trí của quân cờ khác đang đứng thì quân cờ vừa di chuyển sẽ thắng.

Bạn biết vị trí ban đầu của hai quân cờ, quân cờ nào đi trước. Bạn hãy tính xem quân mã có khả năng thắng không và nếu thắng thì nó sẽ phải đi ít nhất là bao nhiêu nước.

Input

  • Dòng thứ nhất ghi hai số ~M_x~, ~M_y~.
  • Dòng thứ hai ghi hai số ~T_x~, ~T_y~.
  • Dòng thứ ba ghi ~0/1~ ứng với quân mă đi trước hoặc quân tốt đi trước.

Output

  • Dòng thứ nhất ghi ~YES/NO~ tương ứng với quân mă có khả năng thắng hoặc không có khả năng thắng.
  • Nếu dòng thứ nhất là ~YES~ thì dòng thứ hai ghi số bước ít nhất.

Giới hạn

  • ~M_x~, ~M_y~, ~T_x~, ~T_y~ là các số nguyên có trị tuyệt đối nhỏ hơn hoặc bằng ~1000~.
  • Trong ~50\%~ số test, ~M_x~, ~M_y~, ~T_x~, ~T_y~ có trị tuyệt đối nhỏ hơn hoặc bằng ~50~.

Sample Input

0 0
0 3
0

Sample Output

YES
2

Note

Ở hình vẽ bên dưới, chữ ~K~ thể hiện vị trí quân mã, chữ ~P~ thể hiện vị trí quân tốt. image


Comments

Please read the guidelines before commenting.



  • -24
    dunghkt213  commented on Dec. 10, 2021, 3:28 a.m.

    This comment is hidden due to too much negative feedback. Show it anyway.