BOI 2011 - Kho báu và người Viking

Xem PDF



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, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1800 (p) Thời gian: 3.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Bạn có một bản đồ kho báu được chia thành lưới \(N\times M\). Mỗi ô là biển hoặc một phần của đảo. Bản đồ còn đánh dấu kho báu và một chiếc thuyền Viking của địch chiếm một ô biển. Để tiện theo dõi, bạn cũng đã đánh dấu vị trí của mình.

Bạn cần định trước một lộ trình cố định để lấy kho báu. Lộ trình bắt đầu tại vị trí của bạn, kết thúc tại kho báu và gồm một dãy bước đi. Mỗi bước, bạn chỉ được đi sang một ô kề cạnh theo chiều ngang hoặc chiều dọc không thuộc đảo. Nhưng hãy cẩn thận: thuyền Viking có thể đuổi theo bạn bằng những bước đi cùng loại! Sau mỗi bước đi của bạn theo lộ trình, thuyền Viking có thể đi một bước hoặc đứng yên. Bước đi của bạn và phản ứng của thuyền Viking tạo thành một lượt.

Sau mỗi lượt, lần lượt kiểm tra:

  1. Nếu bạn và thuyền Viking nằm trên cùng một đường ngang hoặc đường dọc, và giữa hai bên chỉ có biển, bạn sẽ bị giết.
  2. Nếu bạn chưa bị giết và đang ở ô kho báu, bạn lấy được kho báu.

Hãy xác định liệu có thể định trước một lộ trình cố định giúp bạn lấy được kho báu mà không bị giết, bất kể thuyền Viking di chuyển như thế nào hay không.

Dữ liệu vào

Dòng đầu tiên chứa hai số nguyên \(N\)\(M\), là kích thước của bản đồ.

Mỗi dòng trong \(N\) dòng tiếp theo chứa \(M\) ký tự. Mỗi ký tự mô tả một ô: . là biển, I là một phần của đảo, V là thuyền Viking, Y là vị trí của bạn, và T là kho báu. Mỗi ký tự V, YT xuất hiện đúng một lần.

Dữ liệu ra

In YES nếu có thể định trước một lộ trình để lấy được kho báu theo yêu cầu; ngược lại, in NO.

Ràng buộc

  • \(1 \le N,M \le 700\).

Phân nhóm

  • Trong các bộ dữ liệu có tổng cộng 50 điểm, \(1 \le N,M \le 200\).
  • 50 điểm còn lại không có ràng buộc bổ sung.

Ví dụ

Ví dụ 1

Input
5 7
Y.....V
..I....
..IIIII
.......
...T...
Output
YES
Giải thích

Lộ trình sau giúp bạn lấy được kho báu: xuống, xuống, xuống, phải, phải, phải, xuống.

Ví dụ 2

Input
5 7
Y....V.
..I....
..IIIII
.......
...T...
Output
NO
Giải thích

Không có lộ trình nào đến kho báu mà bạn có thể sống sót.

Ví dụ 3

Input
2 3
.YT
VII
Output
NO
Giải thích

Không có lộ trình nào đến kho báu mà bạn có thể sống sót.

Tệp

Bình luận

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

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

Kỳ thi: