6777.Labyrinth

Time Limit: 1s Memory Limit: 512MB

You are given a map of a labyrinth, and your task is to find a path from start to end. You can walk left, right, up and down.

Input Format(From the terminal/stdin)

The first input line has two integers $n$ and $m$ : the height and width of the map.

Then there are $n$ lines of $m$ characters describing the labyrinth. Each character is . (floor), # (wall), A (start), or B (end). There is exactly one A and one B in the input.

  • $1 \le n,m \le 1000$

Output Format(To the terminal/stdout)

First print "YES", if there is a path, and "NO" otherwise.

If there is a path, print the length of the shortest such path and its description as a string consisting of characters L (left), R (right), U (up), and D (down). You can print any valid solution.

Sample Input

Copy
5 8
########
#.A#...#
#.##.#B#
#......#
########
 · \n
        \n
        \n
        \n
        \n
        \n

Sample Output special judge

Copy
YES
9
LDDRRRRRU
   \n
 \n
         \n
Source: CSES, Graph Algorithms, 1193

Submit

请先 登录

© 2025 FAQs