Submission details
Task:Abandoned warehouse
Sender:aalto26bm_010
Submission time:2026-09-07 17:28:09 +0300
Language:Python3 (PyPy3)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#30.04 sdetails
#4ACCEPTED0.04 sdetails
#50.04 sdetails
#6ACCEPTED0.11 sdetails
#70.22 sdetails
#80.19 sdetails
#90.19 sdetails
#100.17 sdetails
#110.06 sdetails
#120.10 sdetails
#130.17 sdetails
#14ACCEPTED0.04 sdetails
#15ACCEPTED0.04 sdetails
#160.17 sdetails

Code



import math
n, m = input().split()
n = int(n); m = int(m)


map = [[] for _ in range(m)]
CHAR = {"#":1, ".":0, "A":0, "B":0}

start = None
endd = None
for i in range (n):
    s = input()

    line = [CHAR[c] for c in s]
    map[i] = line
    idx = s.find("A")
    if idx != -1:
        start = (i, idx)
    idxB = s.find("B")
    if idxB != -1:
        endd = (i, idxB)

# print(start, endd)

if start is None or endd is None:
    print("NO")
    exit(0)

visited = set()
ei, ej = endd

def dfs(i, j):
    if (i,j) in visited:
        return -1
    visited.add((i,j))
    if not (0 <= i < n) or  not(0<= j < m):
        return -1
    if map[i][j] == 1:
        return -1
    # print(i,j)
    


    if i == ei and j == ej:
        return ""

    s = dfs(i, j+1)
    if s != -1: return "R" + s
    s = dfs(i, j-1)
    if s != -1: return "L" + s
    s = dfs(i+1, j)
    if s != -1: return "D" + s
    s = dfs(i-1, j)
    if s != -1: return "U" + s


    return -1

si, sj = start
out = dfs(si, sj)

if out == -1:
    print("NO")
else:

    print("YES")
    print(len(out))
    print(out)

Test details

Test 1

Verdict: ACCEPTED

input
10 10
##.A######
#.##.##.##
#####..###
.#########
...

correct output
NO

user output
NO

Test 2

Verdict: ACCEPTED

input
10 10
B#..##.#..
#....A##..
#.....#..#
.#......#.
...

correct output
NO

user output
NO

Test 3

Verdict:

input
10 10
...#..A.#.
....B...##
...#......
..........
...

correct output
YES
3
LLD

user output
YES
5
RDLLL

Test 4

Verdict: ACCEPTED

input
10 10
.#........
..........
..........
........#.
...

correct output
YES
1
R

user output
YES
1
R

Test 5

Verdict:

input
10 10
..........
..........
..........
..........
...

correct output
YES
3
RDD

user output
YES
21
RRRRRRDLLLLLLLLLDRRRR

Test 6

Verdict: ACCEPTED

input
1000 1000
##.###..######.#########.###.#...

correct output
NO

user output
NO

Test 7

Verdict:

input
1000 1000
####.#.###....#.......##.##.#....

correct output
YES
626
LLLDDRDDDDLDLDDLLLLLDDDDLLDLDL...

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 63, in <module>
    out = dfs(si, sj)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 54, in dfs
    s = dfs(i+1, j)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  [Previous line repeated 1 more time]
  File "/box/input/code.py", line 56, in dfs
    s = dfs(i-1, j)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/box/input/code.py", line 56, in dfs
    s = dfs(i-1, j)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 56, in dfs
    s = dfs(i-1, j)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/...

Test 8

Verdict:

input
1000 1000
....#.##......#....#......#......

correct output
YES
364
LULULLULLLULLLLLUULLLLUUULLLLL...

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 63, in <module>
    out = dfs(si, sj)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  [Previous line repeated 6 more times]
  File "/box/input/code.py", line 56, in dfs
    s = dfs(i-1, j)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/box/input/code.py", line 56, in dfs
    s = dfs(i-1, j)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 56, in dfs
    s = dfs(i-1, j)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "...

Test 9

Verdict:

input
1000 1000
.................#......#........

correct output
YES
1003
LLLLLLLLLLLLLLLLLLLLLLLLLDLLLL...

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 63, in <module>
    out = dfs(si, sj)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  [Previous line repeated 22 more times]
  File "/box/input/code.py", line 54, in dfs
    s = dfs(i+1, j)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 54, in dfs
    s = dfs(i+1, j)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  [Previous line repeated 10 more times]
  File "/box/input/code.py", line 54, in dfs
    s = dfs(i+1, j)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/box/input/code.py", li...

Test 10

Verdict:

input
1000 1000
.................................

correct output
YES
947
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL...

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 63, in <module>
    out = dfs(si, sj)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  [Previous line repeated 551 more times]
  File "/box/input/code.py", line 54, in dfs
    s = dfs(i+1, j)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  [Previous line repeated 996 more times]
  File "/box/input/code.py", line 54, in dfs
    s = dfs(i+1, j)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  [Previous line repeated 6 more times]
  File "/box/input/code.py", line 38, in dfs
    visit...

Test 11

Verdict:

input
1000 3
A#B
.#.
.#.
.#.
...

correct output
YES
2000
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD...

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 18, in <module>
    map[i] = line
IndexError: list index out of range

Test 12

Verdict:

input
3 1000
A................................

correct output
YES
2000
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 63, in <module>
    out = dfs(si, sj)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  [Previous line repeated 996 more times]
  File "/box/input/code.py", line 54, in dfs
    s = dfs(i+1, j)
  File "/box/input/code.py", line 54, in dfs
    s = dfs(i+1, j)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  [Previous line repeated 607 more times]
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 36, in dfs
    if (i,j) in visited:
RecursionError: maximum recursion depth exceeded

Test 13

Verdict:

input
999 999
A#...#...#...#...#...#...#...#...

correct output
YES
499998
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD...

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 63, in <module>
    out = dfs(si, sj)
  File "/box/input/code.py", line 54, in dfs
    s = dfs(i+1, j)
  File "/box/input/code.py", line 54, in dfs
    s = dfs(i+1, j)
  File "/box/input/code.py", line 54, in dfs
    s = dfs(i+1, j)
  [Previous line repeated 995 more times]
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 56, in dfs
    s = dfs(i-1, j)
  File "/box/input/code.py", line 56, in dfs
    s = dfs(i-1, j)
  File "/box/input/code.py", line 56, in dfs
    s = dfs(i-1, j)
  [Previous line repeated 438 more times]
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/box/input/code.py", line 36, in dfs
    if (i,j) in visited:
RecursionError: maximum recursion depth exceeded

Test 14

Verdict: ACCEPTED

input
1 3
A.B

correct output
YES
2
RR

user output
YES
2
RR

Test 15

Verdict: ACCEPTED

input
2 2
##
AB

correct output
YES
1
R

user output
YES
1
R

Test 16

Verdict:

input
1000 1000
A................................

correct output
YES
1998
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

user output
(empty)

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 63, in <module>
    out = dfs(si, sj)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  [Previous line repeated 996 more times]
  File "/box/input/code.py", line 54, in dfs
    s = dfs(i+1, j)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  File "/box/input/code.py", line 52, in dfs
    s = dfs(i, j-1)
  [Previous line repeated 689 more times]
  File "/box/input/code.py", line 50, in dfs
    s = dfs(i, j+1)
  File "/box/input/code.py", line 36, in dfs
    if (i,j) in visited:
RecursionError: maximum recursion depth exceeded