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

Mê Cung

Đề bài

Mô tả

Cho mê cung n×m ô. Mỗi ô là tường (#) hoặc lối đi (.), với đúng một ô bắt đầu (A) và một ô kết thúc (B). Tìm đường đi ngắn nhất từ A đến B, chỉ được di chuyển theo bốn hướng (trên, dưới, trái, phải).

Dữ liệu vào

  • Dòng 1: hai số nguyên nm.
  • n dòng tiếp theo: mỗi dòng gồm m ký tự (#, ., A, B).

Dữ liệu ra

  • Nếu tồn tại đường đi: in YES, sau đó in độ dài đường đi, rồi in chuỗi các bước di chuyển gồm các ký tự L (trái), R (phải), U (lên), D (xuống).
  • Nếu không có đường đi: in NO.

Ràng buộc

  • 1n,m1000

Ví dụ

Input Output Giải thích
5 8
########
#.A#...#
#.##.#B#
#......#
########
YES
9
LDDRRRRRU
Đường đi ngắn nhất từ A đến B có 9 bước.
3 3
A..
###
..B
NO Không có đường đi từ A đến B.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0