Phillip và Các Đoàn Tàu

Đề bài

Mô tả

Đường hầm được biểu diễn dưới dạng một lưới chữ nhật gồm ba hàng và n cột. Người chơi (ký hiệu s) khởi đầu tại ô nằm ở cột ngoài cùng bên trái (cột 1), trên một trong ba hàng. Mục tiêu là tới được cột ngoài cùng bên phải (cột n).

Trên lưới có k đoàn tàu, mỗi đoàn tàu nằm trọn trong một hàng và gồm từ 2 ô liên tiếp trở lên. Các đoàn tàu khác nhau được đánh dấu bằng các chữ cái viết hoa khác nhau. Ô trống được ký hiệu ..

Các bước di chuyển trong mỗi lượt diễn ra theo đúng thứ tự sau:

  1. Trước tiên, người chơi đi sang phải đúng một ô.
  2. Sau đó, người chơi có thể đi lên một hàng, đi xuống một hàng, hoặc đứng yên.
  3. Cuối cùng, tất cả đoàn tàu đồng thời dịch sang trái hai ô.

Nếu tại bất kỳ thời điểm nào người chơi và một đoàn tàu cùng nằm trong một ô (kể cả ngay sau bước 1, bước 2 hoặc trong quá trình tàu dịch chuyển ở bước 3), người chơi thua. Tàu khi đi ra khỏi cột 1 vẫn tiếp tục di chuyển và rời khỏi đường hầm.

Hãy xác định liệu người chơi có chuỗi nước đi nào để tới được cột n hay không.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên t — số bộ dữ liệu (1t10).
  • Với mỗi bộ dữ liệu:
    • Dòng đầu chứa hai số nguyên nk (2n100, 1k26).
    • Ba dòng tiếp theo, mỗi dòng gồm n ký tự mô tả một hàng của lưới (ký tự s xuất hiện đúng một lần ở cột đầu tiên).

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra YES nếu người chơi có thể tới được cột n, ngược lại in NO.

Ràng buộc

  • 1t10
  • 2n100
  • 1k26

Ví dụ

Input Output Giải thích
2
10 4
s.ZZ......
.....AAABB
.YYYYYY...
10 4
s.ZZ......
....AAAABB
.YYYYYY...
YES
NO
Trong bộ thứ nhất, người chơi có thể luồn qua khoảng trống và thoát ra cột cuối. Trong bộ thứ hai, mọi nước đi đều dẫn đến va chạm với một đoàn tàu.
2
16 4
...AAAAA........
s.BBB......CCCCC
........DDDDD...
16 4
...AAAAA........
s.BBB....CCCCC..
.......DDDDD....
YES
NO
Ở bộ thứ nhất, người chơi đi tiến rồi đi xuống hàng dưới, đi tiếp, đi lên hàng giữa, rồi cuối cùng đi lên hàng trên để vượt qua.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0