MOVE - Tí chơi cờ

View as PDF

Submit solution


Points: 100.00
Time limit: 1.0s
Memory limit: 1000M
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Tí rất thích chơi cờ vua và thường hay sáng tạo ra những quân cờ mới, giúp trò chơi thêm thú vị. Bàn cờ vua của Tí được xem như một lưới ô vuông gồm ~N~ dòng và ~M~ cột. Các đòng được đánh số từ ~1~ đến ~N~ từ trên xuống dưới, các cột được đánh số từ ~1~ đến ~M~ từ trái qua phải. Giao của dòng ~x~ và cột ~y~ được gọi là ô ~(x,y)~.

Một ngày nọ, cậu tự tạo ra một quân cờ mới — quân cờ ~A~. Luật di chuyển của quân cờ này như sau: nếu quân cờ đang ở ô ~(x,y)~ thì ở bước tiếp theo, nó có thể đi đến một trong ~4~ ô ~(x,y +2)~, ~(x,y −2)~, ~(x −2,y)~ hoặc ~(x +2,y)~ với điều kiện ô đến phải nằm trong bàn cờ.

Tí liền thử nghiệm quân cờ mới này. Cậu đặt một quân cờ ~A~ vào ô ~(x_1,y_1)~ trong bàn cờ của mình. Cậu tự hỏi rằng, có thể di chuyển quân cờ đến ô ~(x_2,y_2)~ được hay không, và nếu được thì cần ít nhất bao nhiêu bước để quân cờ đi đến ô ~(x_2,y_2)~?

Hãy giúp Tí trả lời câu hỏi trên.

Dữ liệu

  • Dòng đầu tiên gồm hai số nguyên ~N,M (1 ≤ N,M ≤ 10^9)~ — kích thước bàn cờ vua của Tí.
  • Dòng thứ hai gồm hai số nguyên ~x_1, y_1 (1 ≤ x_1 ≤ N, 1 ≤ y_1 ≤ M)~ — tọa độ ô quân cờ ~A~ được đặt vào.
  • Dòng thứ ba gồm hai số nguyên ~x_2, y_2 (1 ≤ x_2 ≤ N, 1 ≤ y_2 ≤ M)~ — tọa độ ô quân cờ ~A~ cần đến.

Kết quả

  • Một số nguyên duy nhất là số bước ít nhất để quân cờ A đi đến ô (x2,y2). Nếu không có cách đi, hãy in ra -1.

Ví dụ

Sample Input 1
5 4
1 2
5 4
Sample Output 1
3
Sample Input 2
2 2
1 1
2 1
Sample Output 2
-1
Sample Input 3
4 4
2 3
2 3
Sample Output 3
0

Giải thích

  • Trong ví dụ thứ nhất, một cách để duy chuyển quân cờ ~A~ như sau: ~(1,2) → (3,2) → (3,4) → (5,4)~.

Chấm điểm

  • Subtask 1 (50% số điểm): ~N = 1~
  • Subtask 2 (50% số điểm): Không có ràng buộc gì thêm

Nguồn: Free Contest


Comments

Please read the guidelines before commenting.