Nước tăng lực

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1900 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Olya thích nước tăng lực. Cô ấy thích chúng đến nỗi phòng của cô đầy những lon nước tăng lực rỗng.

Về mặt hình thức, phòng của cô có thể được biểu diễn như một lưới ô \(n \times m\), mỗi ô có thể trống hoặc đầy những lon nước.

Olya đã uống rất nhiều nước tăng lực, nên bây giờ cô có thể chạy \(k\) mét mỗi giây. Mỗi giây cô chọn một trong bốn hướng (lên, xuống, trái hoặc phải) và chạy từ \(1\) đến \(k\) mét theo hướng đó. Tất nhiên, cô chỉ có thể chạy qua các ô trống.

Bây giờ Olya cần phải đi từ ô \((x_1, y_1)\) đến ô \((x_2, y_2)\). Cô ấy sẽ mất bao nhiêu giây nếu cô ấy di chuyển tối ưu?

Đảm bảo rằng các ô \((x_1, y_1)\)\((x_2, y_2)\) là trống. Những ô này có thể trùng nhau.

Input

  • Dòng đầu tiên chứa ba số nguyên \(n\), \(m\)\(k\) \((1 \leq n, m, k \leq 1000)\) - kích thước của phòng và tốc độ của Olya.
  • Sau đó, \(n\) dòng tiếp theo chứa \(m\) ký tự mỗi dòng, ký tự thứ \(i\) trên vị trí \(j\)#, nếu ô \((i, j)\) đầy lon, và . nếu ngược lại.
  • Dòng cuối cùng chứa bốn số nguyên \(x_1, y_1, x_2, y_2\) \((1 \leq x_1, x_2 \leq n, 1 \leq y_1, y_2 \leq m)\) - tọa độ của ô bắt đầu và ô kết thúc.

Output

  • In một số nguyên - thời gian tối thiểu để Olya đi từ \((x_1, y_1)\) đến \((x_2, y_2)\).
  • Nếu không thể đi từ \((x_1, y_1)\) đến \((x_2, y_2)\), in \(-1\).

Example

Test 1

Input
3 4 4
....
###.
....
1 1 3 1
Output
3
Note

Olya nên chạy \(3\) mét về bên phải trong giây đầu tiên, \(2\) mét xuống dưới trong giây thứ hai và \(3\) mét về bên trái trong giây thứ ba.

Test 2

Input
3 4 1
....
###.
....
1 1 3 1
Output
8
Note

Olya nên chạy về bên phải trong \(3\) giây, sau đó chạy xuống trong \(2\) giây và sau đó chạy về bên trái trong \(3\) giây.

Test 3

Input
2 2 1
.#
#.
1 1 2 2
Output
-1

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.