Mê cung

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, Brain****, C, C++, Java, Pascal, Perl, Python, SCRATCH, Sed, Text
Điểm: 4 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Cho trước bản đồ của một tòa nhà, và nhiệm vụ của bạn là tìm ra một đường đi từ vị trí bắt đầu đến vị trí kết thúc. Kích thước của bản đồ là \(n×m\) hình vuông, và mỗi hình vuông là sàn hoặc tường. Bạn có thể đi bộ sang trái, phải, lên trên và xuống dưới qua các ô sàn nhà.

Input

Dòng đầu tiên chứa hai số nguyên \(n\)\(m(1 \leq n,m \leq 1000)\): kích thước của bản đồ.
\(n\) dòng tiếp theo, mỗi dòng gồm \(m\) ký tự mô tả bản đồ. Mỗi ký tự là .(sàn),# (tường), A (bắt đầu) hoặc B(kết thúc).

Output

Đầu tiên in YES nếu tồn tại đường đi và NO nếu ngược lại.
Nếu có đường đi, dòng tiếp theo in độ dài của đường đi ngắn nhất. Và dòng cuối in mô tả của đường đi đó dưới dạng một xâu bao gồm các ký tự L (trái), R (phải), U (lên) và D (xuống). Bạn có thể in bất kỳ giải pháp hợp lệ nào.

Sample
Input
5 8
########
#.A#...#
#.##.#B#
#......#
########
Output
YES
9
LDDRRRRRU

Bình luận

Gần nhất
Tải bình luận...

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