Submission #24021206
Source Code Expand
import sys
from collections import deque
input = sys.stdin.readline
def main():
h, w = map(int, input().split())
si, sj = (int(i) - 1 for i in input().split())
gi, gj = (int(i) - 1 for i in input().split())
valid = [[i != '#' for i in input()] for _ in range(h)]
idx0 = [[-1 for j in i] for i in valid]
idx1 = [[-1 for j in i] for i in valid]
edge = []
for i in range(h):
for j in range(w):
if not valid[i][j]:
continue
if i > 0 and valid[i - 1][j]:
idx0[i][j] = idx0[i - 1][j]
else:
idx0[i][j] = len(edge)
edge.append([])
if j > 0 and valid[i][j - 1]:
idx1[i][j] = idx1[i][j - 1]
else:
idx1[i][j] = len(edge)
edge.append([])
edge[idx0[i][j]].append(idx1[i][j])
edge[idx1[i][j]].append(idx0[i][j])
dist = [-1 for _ in edge]
q = deque()
dist[idx0[si][sj]] = 0
dist[idx1[si][sj]] = 0
q.append(idx0[si][sj])
q.append(idx1[si][sj])
while q:
p = q.popleft()
for e in edge[p]:
if dist[e] == -1:
dist[e] = dist[p] + 1
q.append(e)
print(min(dist[idx0[gi][gj]], dist[idx1[gi][gj]]))
if __name__ == "__main__":
main()
Submission Info
| Submission Time | |
|---|---|
| Task | 043 - Maze Challenge with Lack of Sleep(★4) |
| User | riantkb |
| Language | Python (3.8.2) |
| Score | 4 |
| Code Size | 1348 Byte |
| Status | AC |
| Exec Time | 932 ms |
| Memory | 117324 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 4 / 4 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, sample_01.txt, sample_02.txt, sample_03.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| in01.txt | AC | 38 ms | 9692 KiB |
| in02.txt | AC | 31 ms | 10016 KiB |
| in03.txt | AC | 34 ms | 10236 KiB |
| in04.txt | AC | 38 ms | 10196 KiB |
| in05.txt | AC | 22 ms | 9640 KiB |
| in06.txt | AC | 33 ms | 9684 KiB |
| in07.txt | AC | 28 ms | 9544 KiB |
| in08.txt | AC | 27 ms | 9312 KiB |
| in09.txt | AC | 21 ms | 9248 KiB |
| in10.txt | AC | 37 ms | 10012 KiB |
| in11.txt | AC | 36 ms | 10020 KiB |
| in12.txt | AC | 28 ms | 9580 KiB |
| in13.txt | AC | 23 ms | 9548 KiB |
| in14.txt | AC | 31 ms | 9440 KiB |
| in15.txt | AC | 29 ms | 9580 KiB |
| in16.txt | AC | 932 ms | 73892 KiB |
| in17.txt | AC | 869 ms | 56156 KiB |
| in18.txt | AC | 926 ms | 64832 KiB |
| in19.txt | AC | 826 ms | 54728 KiB |
| in20.txt | AC | 822 ms | 54380 KiB |
| in21.txt | AC | 781 ms | 50816 KiB |
| in22.txt | AC | 445 ms | 34164 KiB |
| in23.txt | AC | 489 ms | 49420 KiB |
| in24.txt | AC | 824 ms | 54428 KiB |
| in25.txt | AC | 912 ms | 117324 KiB |
| sample_01.txt | AC | 23 ms | 9500 KiB |
| sample_02.txt | AC | 21 ms | 9208 KiB |
| sample_03.txt | AC | 23 ms | 9500 KiB |