| Task: | Abandoned warehouse |
| Sender: | erikpeik |
| Submission time: | 2025-09-08 17:49:14 +0300 |
| Language: | Python3 (PyPy3) |
| Status: | READY |
| Result: | RUNTIME ERROR |
| test | verdict | time | |
|---|---|---|---|
| #1 | RUNTIME ERROR | 0.07 s | details |
| #2 | RUNTIME ERROR | 0.07 s | details |
| #3 | WRONG ANSWER | 0.07 s | details |
| #4 | WRONG ANSWER | 0.07 s | details |
| #5 | WRONG ANSWER | 0.07 s | details |
| #6 | RUNTIME ERROR | 0.10 s | details |
| #7 | TIME LIMIT EXCEEDED | -- | details |
| #8 | WRONG ANSWER | 0.99 s | details |
| #9 | TIME LIMIT EXCEEDED | -- | details |
| #10 | TIME LIMIT EXCEEDED | -- | details |
| #11 | WRONG ANSWER | 0.15 s | details |
| #12 | WRONG ANSWER | 0.14 s | details |
| #13 | TIME LIMIT EXCEEDED | -- | details |
| #14 | WRONG ANSWER | 0.07 s | details |
| #15 | WRONG ANSWER | 0.07 s | details |
| #16 | TIME LIMIT EXCEEDED | -- | details |
Code
from queue import Queue
def make_zero_map(map):
zero_map = []
for i in range(len(map)):
zero_map.append([0] * len(map[0]))
return zero_map
def find_shortest_path(map, start, end, size):
directions = [(0, -1), (0, 1), (-1, 0), (1, 0)]
visited = make_zero_map(map)
visited[start[0]][start[1]] = 1
queue = Queue()
queue.put((start, []))
while not queue.empty():
(node, path) = queue.get()
for dx, dy in directions:
direction = ""
if dx == -1:
direction = "U"
if dx == 1:
direction = "D"
if dy == -1:
direction = "L"
if dy == 1:
direction = "R"
next_node = (node[0] + dx, node[1] + dy)
if next_node == end:
return path + [direction]
if (next_node[0] >= 0 and next_node[1] >= 0
and next_node[0] < size[0] and next_node[1] < size[1]
and map[next_node[0]][next_node[1]] == '.'
and visited[next_node[0]][next_node[1]] == 0):
visited[next_node[0]][next_node[1]] = 1
queue.put((next_node, path + [direction]))
if __name__ == "__main__":
(x, y) = map(int, input().split())
map = []
start = (-1, -1)
end = (-1, -1)
for i in range(x):
value = input()
start_index = value.find('A')
end_index = value.find('B')
if start_index != -1:
start = (i, start_index)
if end_index != -1:
end = (i, end_index)
map.append(value)
result = find_shortest_path(map, start, end, (x, y))
for char in result:
print(char, end='')
print()
Test details
Test 1
Verdict: RUNTIME ERROR
| input |
|---|
| 10 10 ##.A###### #.##.##.## #####..### .######### ... |
| correct output |
|---|
| NO |
| user output |
|---|
| (empty) |
Error:
Traceback (most recent call last):
File "input/code.py", line 58, in <module>
for ch...Test 2
Verdict: RUNTIME ERROR
| input |
|---|
| 10 10 B#..##.#.. #....A##.. #.....#..# .#......#. ... |
| correct output |
|---|
| NO |
| user output |
|---|
| (empty) |
Error:
Traceback (most recent call last):
File "input/code.py", line 58, in <module>
for ch...Test 3
Verdict: WRONG ANSWER
| input |
|---|
| 10 10 ...#..A.#. ....B...## ...#...... .......... ... |
| correct output |
|---|
| YES 3 LLD |
| user output |
|---|
| LLD |
Test 4
Verdict: WRONG ANSWER
| input |
|---|
| 10 10 .#........ .......... .......... ........#. ... |
| correct output |
|---|
| YES 1 R |
| user output |
|---|
| R |
Test 5
Verdict: WRONG ANSWER
| input |
|---|
| 10 10 .......... .......... .......... .......... ... |
| correct output |
|---|
| YES 3 RDD |
| user output |
|---|
| RDD |
Test 6
Verdict: RUNTIME ERROR
| input |
|---|
| 1000 1000 ##.###..######.#########.###.#... |
| correct output |
|---|
| NO |
| user output |
|---|
| (empty) |
Error:
Traceback (most recent call last):
File "input/code.py", line 58, in <module>
for ch...Test 7
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 1000 1000 ####.#.###....#.......##.##.#.... |
| correct output |
|---|
| YES 626 LLLDDRDDDDLDLDDLLLLLDDDDLLDLDL... |
| user output |
|---|
| (empty) |
Test 8
Verdict: WRONG ANSWER
| input |
|---|
| 1000 1000 ....#.##......#....#......#...... |
| correct output |
|---|
| YES 364 LULULLULLLULLLLLUULLLLUUULLLLL... |
| user output |
|---|
| LULULLULLLULLLLLUULLLLUUULLLLL... Truncated |
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: WRONG ANSWER
| input |
|---|
| 1000 3 A#B .#. .#. .#. ... |
| correct output |
|---|
| YES 2000 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... Truncated |
Test 12
Verdict: WRONG ANSWER
| input |
|---|
| 3 1000 A................................ |
| correct output |
|---|
| YES 2000 RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
| user output |
|---|
| RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... Truncated |
Test 13
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 999 999 A#...#...#...#...#...#...#...#... |
| correct output |
|---|
| YES 499998 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD... |
| user output |
|---|
| (empty) |
Test 14
Verdict: WRONG ANSWER
| input |
|---|
| 1 3 A.B |
| correct output |
|---|
| YES 2 RR |
| user output |
|---|
| RR |
Test 15
Verdict: WRONG ANSWER
| input |
|---|
| 2 2 ## AB |
| correct output |
|---|
| YES 1 R |
| user output |
|---|
| R |
Test 16
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 1000 1000 A................................ |
| correct output |
|---|
| YES 1998 RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR... |
| user output |
|---|
| (empty) |
