| Task: | Abandoned warehouse |
| Sender: | aalto26bm_025 |
| Submission time: | 2026-09-07 17:42:07 +0300 |
| Language: | Python3 (PyPy3) |
| Status: | READY |
| Result: | RUNTIME ERROR |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.04 s | details |
| #2 | ACCEPTED | 0.04 s | details |
| #3 | ACCEPTED | 0.04 s | details |
| #4 | RUNTIME ERROR | 0.06 s | details |
| #5 | RUNTIME ERROR | 0.06 s | details |
| #6 | ACCEPTED | 0.07 s | details |
| #7 | RUNTIME ERROR | 0.24 s | details |
| #8 | ACCEPTED | 0.17 s | details |
| #9 | ACCEPTED | 0.39 s | details |
| #10 | ACCEPTED | 0.37 s | details |
| #11 | RUNTIME ERROR | 0.08 s | details |
| #12 | RUNTIME ERROR | 0.07 s | details |
| #13 | RUNTIME ERROR | 0.34 s | details |
| #14 | RUNTIME ERROR | 0.06 s | details |
| #15 | RUNTIME ERROR | 0.06 s | details |
| #16 | RUNTIME ERROR | 0.42 s | details |
Code
import sys
from collections import deque
def main():
lines = sys.stdin.read().split()
if not lines:
return
n = int(lines[0])
m = int(lines[1])
grid = lines[2:2 + n]
start_r = start_c = -1
end_r = end_c = -1
for r in range(n):
for c in range(m):
if grid[r][c] == 'A':
start_r, start_c = r, c
elif grid[r][c] == 'B':
end_r, end_c = r, c
prev_move = [[None] * m for _ in range(n)]
prev_move[start_r][start_c] = ''
queue = deque([(start_r, start_c)])
moves = [
(-1, 0, 'U'),
(1, 0, 'D'),
(0, -1, 'L'),
(0, 1, 'R')
]
reached = False
while queue:
r, c = queue.popleft()
if r == end_r and c == end_c:
reached = True
break
for dr, dc, move in moves:
nr, nc = r + dr, c + dc
if 0 <= nr < n and 0 <= nc < m:
if grid[nr][nc] != '#' and prev_move[nr][nc] is None:
prev_move[nr][nc] = move
queue.append((nr, nc))
if not reached:
print("NO")
return
path = []
curr_r, curr_c = end_r, end_c
rev_step = {
'U': (1, 0),
'D': (-1, 0),
'L': (0, 1),
}
while (curr_r, curr_c) != (start_r, start_c):
move = prev_move[curr_r][curr_c]
path.append(move)
dr, dc = rev_step[move]
curr_r += dr
curr_c += dc
path.reverse()
print("YES")
print(len(path))
print("".join(path))
main()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: ACCEPTED
| input |
|---|
| 10 10 ...#..A.#. ....B...## ...#...... .......... ... |
| correct output |
|---|
| YES 3 LLD |
| user output |
|---|
| YES 3 DLL |
Test 4
Verdict: RUNTIME ERROR
| input |
|---|
| 10 10 .#........ .......... .......... ........#. ... |
| correct output |
|---|
| YES 1 R |
| user output |
|---|
| (empty) |
Error:
Traceback (most recent call last):
File "/box/input/code.py", line 80, in <module>
main()
File "/box/input/code.py", line 70, in main
dr, dc = rev_step[move]
KeyError: 'R'Test 5
Verdict: RUNTIME ERROR
| input |
|---|
| 10 10 .......... .......... .......... .......... ... |
| correct output |
|---|
| YES 3 RDD |
| user output |
|---|
| (empty) |
Error:
Traceback (most recent call last):
File "/box/input/code.py", line 80, in <module>
main()
File "/box/input/code.py", line 70, in main
dr, dc = rev_step[move]
KeyError: 'R'Test 6
Verdict: ACCEPTED
| input |
|---|
| 1000 1000 ##.###..######.#########.###.#... |
| correct output |
|---|
| NO |
| user output |
|---|
| NO |
Test 7
Verdict: RUNTIME ERROR
| input |
|---|
| 1000 1000 ####.#.###....#.......##.##.#.... |
| correct output |
|---|
| YES 626 LLLDDRDDDDLDLDDLLLLLDDDDLLDLDL... |
| user output |
|---|
| (empty) |
Error:
Traceback (most recent call last):
File "/box/input/code.py", line 80, in <module>
main()
File "/box/input/code.py", line 70, in main
dr, dc = rev_step[move]
KeyError: 'R'Test 8
Verdict: ACCEPTED
| input |
|---|
| 1000 1000 ....#.##......#....#......#...... |
| correct output |
|---|
| YES 364 LULULLULLLULLLLLUULLLLUUULLLLL... |
| user output |
|---|
| YES 364 UUUUUULUUUUUUUUUUULLLUUUULLUUU... |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 1000 1000 .................#......#........ |
| correct output |
|---|
| YES 1003 LLLLLLLLLLLLLLLLLLLLLLLLLDLLLL... |
| user output |
|---|
| YES 1003 DDDDDDDDDDDDDDDDDLDDDDDDDDDDDD... |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 1000 1000 ................................. |
| correct output |
|---|
| YES 947 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL... |
| user output |
|---|
| YES 947 UUUUUUUUUUUUUUUUUUUUUUUUUUUUUU... |
Test 11
Verdict: RUNTIME ERROR
| 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 80, in <module>
main()
File "/box/input/code.py", line 70, in main
dr, dc = rev_step[move]
KeyError: 'R'Test 12
Verdict: RUNTIME ERROR
| input |
|---|
| 3 1000 A................................ |
| correct output |
|---|
| YES 2000 RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
| user output |
|---|
| (empty) |
Error:
Traceback (most recent call last):
File "/box/input/code.py", line 80, in <module>
main()
File "/box/input/code.py", line 70, in main
dr, dc = rev_step[move]
KeyError: 'R'Test 13
Verdict: RUNTIME ERROR
| input |
|---|
| 999 999 A#...#...#...#...#...#...#...#... |
| correct output |
|---|
| YES 499998 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Error:
Traceback (most recent call last):
File "/box/input/code.py", line 80, in <module>
main()
File "/box/input/code.py", line 70, in main
dr, dc = rev_step[move]
KeyError: 'R'Test 14
Verdict: RUNTIME ERROR
| input |
|---|
| 1 3 A.B |
| correct output |
|---|
| YES 2 RR |
| user output |
|---|
| (empty) |
Error:
Traceback (most recent call last):
File "/box/input/code.py", line 80, in <module>
main()
File "/box/input/code.py", line 70, in main
dr, dc = rev_step[move]
KeyError: 'R'Test 15
Verdict: RUNTIME ERROR
| input |
|---|
| 2 2 ## AB |
| correct output |
|---|
| YES 1 R |
| user output |
|---|
| (empty) |
Error:
Traceback (most recent call last):
File "/box/input/code.py", line 80, in <module>
main()
File "/box/input/code.py", line 70, in main
dr, dc = rev_step[move]
KeyError: 'R'Test 16
Verdict: RUNTIME ERROR
| input |
|---|
| 1000 1000 A................................ |
| correct output |
|---|
| YES 1998 RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
| user output |
|---|
| (empty) |
Error:
Traceback (most recent call last):
File "/box/input/code.py", line 80, in <module>
main()
File "/box/input/code.py", line 70, in main
dr, dc = rev_step[move]
KeyError: 'R'