Submission #5625749
Source Code Expand
from collections import deque
import sys
input = sys.stdin.readline
def main():
size = map(int, input().split())
sy, sx = map(int, input().split())
gy, gx = map(int, input().split())
maze = [input().rstrip() for _ in range(size[0])]
start = (sy - 1, sx - 1)
goal = (gy - 1, gx - 1)
print(solve(maze, size, start, goal))
def solve(maze, size, start, goal):
queue = deque([start])
next_pos = []
dist = [[None for _ in range(size[1])] for _ in range(size[0])]
dist[start[0]][start[1]] = 0
while goal not in next_pos:
queue.extend(next_pos)
go = queue.popleft()
next_pos = [pos for pos in travel(maze, size, go) if dist[pos[0]][pos[1]] is None]
cost = dist[go[0]][go[1]] + 1
for p in next_pos:
dist[p[0]][p[1]] = cost
return dist[goal[0]][goal[1]]
def travel(maze, size, current_pos):
x, y = current_pos
next_pos = filter(
lambda pos: pos[0] >= 0 and pos[1] >= 0 and pos[0] < size[0] and pos[1] < size[1],
[(x - 1, y), (x + 1, y), (x, y - 1), (x, y + 1)]
)
return filter(lambda pos: maze[pos[0]][pos[1]] == '.', next_pos)
if __name__ == '__main__':
main()
Submission Info
| Submission Time |
|
| Task |
A - 幅優先探索 |
| User |
ibara1454 |
| Language |
PyPy2 (5.6.0) |
| Score |
100 |
| Code Size |
1235 Byte |
| Status |
AC |
| Exec Time |
118 ms |
| Memory |
34156 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
100 / 100 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt |
| All |
subtask0_sample01.txt, subtask0_sample02.txt, subtask0_sample03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt |
| Case Name |
Status |
Exec Time |
Memory |
| subtask0_sample01.txt |
AC |
39 ms |
27372 KiB |
| subtask0_sample02.txt |
AC |
36 ms |
27628 KiB |
| subtask0_sample03.txt |
AC |
94 ms |
34156 KiB |
| subtask1_01.txt |
AC |
88 ms |
32748 KiB |
| subtask1_02.txt |
AC |
88 ms |
32620 KiB |
| subtask1_03.txt |
AC |
80 ms |
32748 KiB |
| subtask1_04.txt |
AC |
77 ms |
32620 KiB |
| subtask1_05.txt |
AC |
71 ms |
32492 KiB |
| subtask1_06.txt |
AC |
117 ms |
33516 KiB |
| subtask1_07.txt |
AC |
37 ms |
28780 KiB |
| subtask1_08.txt |
AC |
42 ms |
29932 KiB |
| subtask1_09.txt |
AC |
103 ms |
32620 KiB |
| subtask1_10.txt |
AC |
57 ms |
32364 KiB |
| subtask1_11.txt |
AC |
90 ms |
33132 KiB |
| subtask1_12.txt |
AC |
94 ms |
33132 KiB |
| subtask1_13.txt |
AC |
103 ms |
32748 KiB |
| subtask1_14.txt |
AC |
39 ms |
29292 KiB |
| subtask1_15.txt |
AC |
103 ms |
32620 KiB |
| subtask1_16.txt |
AC |
99 ms |
32620 KiB |
| subtask1_17.txt |
AC |
111 ms |
32876 KiB |
| subtask1_18.txt |
AC |
118 ms |
33640 KiB |
| subtask1_19.txt |
AC |
88 ms |
33256 KiB |
| subtask1_20.txt |
AC |
87 ms |
32620 KiB |
| subtask1_21.txt |
AC |
97 ms |
32620 KiB |
| subtask1_22.txt |
AC |
85 ms |
32620 KiB |