관리 메뉴

🌲자라나는청년

[백준] 미로찾기 파이썬(Q2178) 본문

알고리즘 문제풀이

[백준] 미로찾기 파이썬(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]*for _ in range(x)]
    visit=[[0]*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<and ay<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
반응형