Ô xấu

Đề bài

Mô tả

Cho một bảng ô vuông vô hạn. Bạn cần đi từ ô (x1;y1) đến ô (x2;y2). Bạn không bắt buộc phải đi theo đường ngắn nhất. Mỗi bước, từ ô hiện tại bạn có thể di chuyển sang một trong bốn ô kề cạnh.

Một ô (x;y) được gọi là ô xấu nếu thỏa mãn ít nhất một trong hai điều kiện:

  • |x+y|≡0(mod2a),
  • |x−y|≡0(mod2b).

Nhiệm vụ của bạn là tìm số ô xấu ít nhất mà bạn phải đi qua khi di chuyển từ (x1;y1) đến (x2;y2).

Dữ liệu vào

Một dòng duy nhất chứa sáu số nguyên a, b, x1, y1, x2, y2.

Dữ liệu ra

In ra một số nguyên duy nhất — số ô xấu ít nhất phải đi qua.

Ràng buộc

  • 2≤a,b≤109
  • |x1|,|y1|,|x2|,|y2|≤109
  • Bảo đảm ô xuất phát và ô đích đều không phải ô xấu.

Ví dụ

Input Output Giải thích
2 2 1 0 0 1 1 Mọi đường đi từ (1;0) đến (0;1) đều phải đi qua đúng một ô xấu.
2 2 10 11 0 1 5 Cần đi qua ít nhất 5 ô xấu.
2 4 3 -1 3 7 2 Một đường đi hợp lệ: (3;−1)→(3;0)→(3;1)→(3;2)→(4;2)→(4;3)→(4;4)→(4;5)→(4;6)→(4;7)→(3;7), đi qua hai ô xấu (3;1) và (4;4).

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0