Mã và tốt

Xem dạng PDF

Gửi bài giải


Điểm: 0,95 (OI)
Giới hạn thời gian: 0.6s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
HAOI 2008 - Day 1 - Author: Phạm Hải Minh/Lê Ðôn Khuê
Dạng bài
Ngôn ngữ cho phép
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


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • -22
    dunghkt213  đã bình luận lúc 10, Tháng 12, 2021, 3:28

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.