Submission details
Task:Abandoned warehouse
Sender:erikpeik
Submission time:2025-09-08 17:49:14 +0300
Language:Python3 (PyPy3)
Status:READY
Result:
Test results
testverdicttime
#10.07 sdetails
#20.07 sdetails
#30.07 sdetails
#40.07 sdetails
#50.07 sdetails
#60.10 sdetails
#7--details
#80.99 sdetails
#9--details
#10--details
#110.15 sdetails
#120.14 sdetails
#13--details
#140.07 sdetails
#150.07 sdetails
#16--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:

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:

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:

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

correct output
YES
3
LLD

user output
LLD

Test 4

Verdict:

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

correct output
YES
1
R

user output
R

Test 5

Verdict:

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

correct output
YES
3
RDD

user output
RDD

Test 6

Verdict:

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:

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

correct output
YES
626
LLLDDRDDDDLDLDDLLLLLDDDDLLDLDL...

user output
(empty)

Test 8

Verdict:

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

correct output
YES
364
LULULLULLLULLLLLUULLLLUUULLLLL...

user output
LULULLULLLULLLLLUULLLLUUULLLLL...
Truncated

Test 9

Verdict:

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

correct output
YES
1003
LLLLLLLLLLLLLLLLLLLLLLLLLDLLLL...

user output
(empty)

Test 10

Verdict:

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

correct output
YES
947
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL...

user output
(empty)

Test 11

Verdict:

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

correct output
YES
2000
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD...

user output
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD...
Truncated

Test 12

Verdict:

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

correct output
YES
2000
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

user output
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...
Truncated

Test 13

Verdict:

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

correct output
YES
499998
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD...

user output
(empty)

Test 14

Verdict:

input
1 3
A.B

correct output
YES
2
RR

user output
RR

Test 15

Verdict:

input
2 2
##
AB

correct output
YES
1
R

user output
R

Test 16

Verdict:

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

correct output
YES
1998
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR...

user output
(empty)