| Task: | Abandoned warehouse |
| Sender: | aalto26bm_010 |
| Submission time: | 2026-09-07 17:39:15 +0300 |
| Language: | Python3 (PyPy3) |
| Status: | READY |
| Result: | TIME LIMIT EXCEEDED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.04 s | details |
| #2 | ACCEPTED | 0.04 s | details |
| #3 | ACCEPTED | 0.04 s | details |
| #4 | ACCEPTED | 0.04 s | details |
| #5 | ACCEPTED | 0.04 s | details |
| #6 | ACCEPTED | 0.12 s | details |
| #7 | ACCEPTED | 0.86 s | details |
| #8 | ACCEPTED | 0.64 s | details |
| #9 | TIME LIMIT EXCEEDED | -- | details |
| #10 | TIME LIMIT EXCEEDED | -- | details |
| #11 | RUNTIME ERROR | 0.06 s | details |
| #12 | ACCEPTED | 0.07 s | details |
| #13 | TIME LIMIT EXCEEDED | -- | details |
| #14 | ACCEPTED | 0.04 s | details |
| #15 | ACCEPTED | 0.04 s | details |
| #16 | TIME LIMIT EXCEEDED | -- | details |
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()
visited = set()
# visited.add(start)
nodes = set()
from collections import deque
si, js = start
ie, je = endd
openSet = deque([(si, js, "")])
while openSet:
current = openSet.popleft()
i, j, s = current
if (i,j) in visited:
continue
visited.add((i,j))
if i == ie and j == je:
print("YES")
print(len(s))
print(s)
break
if not (0 <= i < n) or not(0<= j < m):
continue
if map[i][j] == 1:
continue
# print(i,j)
openSet.append((i,j+1, s + "R"))
openSet.append((i,j-1, s + "L"))
openSet.append((i-1,j, s + "U"))
openSet.append((i+1,j, s + "D"))
else:
print("NO")
# 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 ""
# s1 = dfs(i, j+1)
# if s != -1: return "R" + s
# s2 = dfs(i, j-1)
# if s != -1: return "L" + s
# s3 = dfs(i+1, j)
# if s != -1: return "D" + s
# s4 = dfs(i-1, j)
# if s != -1: return "U" + s
# return -1
# out = dfs(si, sj)
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 LLD |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 10 10 .#........ .......... .......... ........#. ... |
| correct output |
|---|
| YES 1 R |
| user output |
|---|
| YES 1 R |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 10 10 .......... .......... .......... .......... ... |
| correct output |
|---|
| YES 3 RDD |
| user output |
|---|
| YES 3 RDD |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 1000 1000 ##.###..######.#########.###.#... |
| correct output |
|---|
| NO |
| user output |
|---|
| NO |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 1000 1000 ####.#.###....#.......##.##.#.... |
| correct output |
|---|
| YES 626 LLLDDRDDDDLDLDDLLLLLDDDDLLDLDL... |
| user output |
|---|
| YES 626 RDDLDLLDDDLDLDDLLLLLDDDDLLDLDL... |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 1000 1000 ....#.##......#....#......#...... |
| correct output |
|---|
| YES 364 LULULLULLLULLLLLUULLLLUUULLLLL... |
| user output |
|---|
| YES 364 LULULLULLLULLLLLUULLLLUUULLLLL... |
Test 9
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 1000 1000 .................#......#........ |
| correct output |
|---|
| YES 1003 LLLLLLLLLLLLLLLLLLLLLLLLLDLLLL... |
| user output |
|---|
| (empty) |
Test 10
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 1000 1000 ................................. |
| correct output |
|---|
| YES 947 LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL... |
| user output |
|---|
| (empty) |
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 18, in <module>
map[i] = line
IndexError: list index out of rangeTest 12
Verdict: ACCEPTED
| input |
|---|
| 3 1000 A................................ |
| correct output |
|---|
| YES 2000 RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
| user output |
|---|
| YES 2000 RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
Test 13
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 999 999 A#...#...#...#...#...#...#...#... |
| correct output |
|---|
| YES 499998 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
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: TIME LIMIT EXCEEDED
| input |
|---|
| 1000 1000 A................................ |
| correct output |
|---|
| YES 1998 RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
| user output |
|---|
| (empty) |
