trang chủ / bài tập / ninjawall

Ninja và hẻm núi

Đề bài

Mô tả

Một ninja đang đứng dưới đáy một hẻm núi sâu, hẻm núi gồm hai vách đá song song thẳng đứng, mỗi vách cao n mét. Mỗi vách được chia thành n ô vuông cao 1 mét và đánh số từ 1 (dưới cùng) đến n (trên cùng). Một số ô là an toàn (ninja có thể đứng trên đó), số khác là nguy hiểm (có gai, không thể đứng).

Ban đầu ninja đứng ở ô số 1 của vách trái (ô này được đảm bảo là an toàn). Tại mỗi giây, ninja thực hiện đúng một trong ba hành động sau:

  • Leo lên ô liền trên (vị trí xx+1 cùng vách).
  • Leo xuống ô liền dưới (vị trí xx1 cùng vách).
  • Nhảy sang vách đối diện và lên cao thêm k ô (vị trí xx+k, đổi vách).

Sau khi ninja đi xong, mực nước trong hẻm núi dâng lên 1 mét (ban đầu mực nước ở mép dưới ô số 1). Ninja không được đứng trên ô đã bị nước phủ: nói cách khác, sau khi ninja thực hiện hành động thứ t thì các ô có số nhỏ hơn hoặc bằng t đã bị ngập, ninja phải ở trên một ô có số lớn hơn t.

Nếu ninja di chuyển tới một ô có số lớn hơn n thì coi như đã thoát khỏi hẻm núi.

Hỏi ninja có thể thoát ra hay không?

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nk (1n,k105) — chiều cao của hẻm núi và độ cao mỗi cú nhảy.
  • Dòng thứ hai là một xâu độ dài n mô tả vách trái: ký tự thứ iX nếu ô thứ i nguy hiểm và - nếu ô an toàn.
  • Dòng thứ ba mô tả vách phải theo định dạng tương tự.

Đảm bảo ô thứ 1 của vách trái là an toàn.

Dữ liệu ra

In ra YES nếu ninja có thể thoát khỏi hẻm núi, ngược lại in NO.

Ràng buộc

  • 1n,k105.
  • Mỗi xâu mô tả vách chỉ chứa các ký tự X-.

Ví dụ

Input Output Giải thích
7 3
---X--X
-X--XX-
YES Ninja nhảy sang vách phải (lên ô 4), leo xuống ô 3, nhảy sang vách trái (lên ô 6), nhảy lần nữa lên ô 9>7 — thoát.
6 2
--X-X-
X--XX-
NO Không tồn tại chiến lược nào để ninja thoát trước khi bị nước nhấn chìm.

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