알고리즘 문제풀이
[백준] 미로찾기 파이썬(Q2178)
JihyunLee
2019. 11. 29. 18:17
반응형
백준 미로찾기 문제를 풀어보았다.
기본적인 그래프 문제였다.
여기를 참고하였다.https://hongku.tistory.com/276
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
import sys
def main():
x,y=map(int,sys.stdin.readline().split(' '))
data=[[0]*y for _ in range(x)]
visit=[[0]*y for _ in range(x)]
for i in range(x):
temp = sys.stdin.readline()
for j in range(y):
data[i][j] = int(temp[j])
visit[0][0] = 1
arr = []
arr.append((0,0))
dx = [-1,0,1,0]
dy = [0,1,0,-1]
while arr:
px,py = arr.pop(0)
if(px==x-1 and py ==y-1):
print(visit[px][py])
return visit[px][py]
for i in range(4):
ax = px + dx[i]
ay = py + dy[i]
if ax<x and ay<y and ax>=0 and ay>=0:
if data[ax][ay]==1 and visit[ax][ay] ==0:
visit[ax][ay] = visit[px][py] +1
arr.append((ax,ay))
if __name__ =="__main__":
main()
|
cs |
반응형