문제
7*7 격자판 미로를 탈출하는 경로의 가지수를 출력하는 프로그램을 작성하기
조건
출발점은 격 자의 (1, 1) 좌표이고, 탈출 도착점은 (7, 7)좌표이다.
격자판의 1은 벽이고, 0은 통로이다.
격자판의 움직임은 상하좌우로만 움직인다.
미로가 다음과 같다면

위의 지도에서 출발점에서 도착점까지 갈 수 있는 방법의 수는 8가지이다.
제한사항
7*7 격자판의 정보가 주어집니다.
첫 번째 줄에 경로의 가지수를 출력한다.
문제풀이
def go(x, y):
global cnt
if x==6 and y==6:
cnt+=1
else:
for i in range(4):
xx=x+dx[i]
yy=y+dy[i]
if 0<=xx<=6 and 0<=yy<=6 and a[xx][yy]==0:
a[xx][yy]=1
go(xx, yy)
a[xx][yy]=0
dx=[-1, 0, 1, 0]
dy=[0, 1, 0, -1]
a=[list(map(int, input().split())) for _ in range(7)]
cnt=0
a[0][0]=1
go(0, 0)
print(cnt)'파이썬 알고리즘 풀이' 카테고리의 다른 글
| 69)단지 번호 붙이기(DFS, BFS) (0) | 2021.11.09 |
|---|---|
| 68)등산경로(DFS) (0) | 2021.11.09 |
| 66)미로의 최단거리(BFS) (0) | 2021.11.09 |
| 65)사과나무(BFS) (0) | 2021.11.09 |
| 64)송아지 찾기(BFS: 상태트리탐색) (0) | 2021.11.09 |