Submission #32029916


Source Code Expand

from queue import deque
from itertools import product

H, W = map(int, input().split())

S = []

for i in range(H):
    S.append(input())
    if 'o' in S[-1]:
        r0, c0 = i, S[-1].index('o')

visited = set([(r0, c0)])

que = deque([(r0 + i, c0 + j, 1) for i, j in ((1, 0), (-1, 0), (0, 1), (0, -1))])

while que:
    r, c, d = que.popleft()

    if (r, c) in visited or r < 0 or c < 0 or r == H or c == W:
        continue

    visited.add((r, c))

    if S[r][c] == 'o':
        print(d)
        exit()

    for i, j in ((1, 0), (-1, 0), (0, 1), (0, -1)):
        que.append((r + i, c + j, d + 1))
print('hoge')

Submission Info

Submission Time
Task B - Distance Between Tokens
User AkiOhtani
Language Python (3.8.2)
Score 200
Code Size 647 Byte
Status AC
Exec Time 49 ms
Memory 10608 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 2
AC × 13
Set Name Test Cases
Sample example_00.txt, example_01.txt
All example_00.txt, example_01.txt, test_00.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt
Case Name Status Exec Time Memory
example_00.txt AC 30 ms 9420 KiB
example_01.txt AC 26 ms 9508 KiB
test_00.txt AC 33 ms 9632 KiB
test_01.txt AC 35 ms 10424 KiB
test_02.txt AC 28 ms 9496 KiB
test_03.txt AC 27 ms 9580 KiB
test_04.txt AC 27 ms 9432 KiB
test_05.txt AC 31 ms 9752 KiB
test_06.txt AC 27 ms 9460 KiB
test_07.txt AC 24 ms 9324 KiB
test_08.txt AC 49 ms 10372 KiB
test_09.txt AC 49 ms 10608 KiB
test_10.txt AC 23 ms 9496 KiB