본문 바로가기

전체 글

(233)
67)미로 탐색(DFS) 문제 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
66)미로의 최단거리(BFS) 문제 7*7 격자판 미로를 탈출하는 최단경로의 경로수를 출력하는 프로그램을 작성하기 조건 경로수는 출발점에서 도착점까지 가는데 이동한 횟수를 의미한다. 출발점은 격자의 (1, 1) 좌표이고, 탈 출 도착점은 (7, 7)좌표이다. 격자판의 1은 벽이고, 0은 도로이다. 격자판의 움직임은 상하좌우로만 움직인다. 미로가 다음과 같다면 위와 같은 경로가 최단 경로이며 경로수는 12이다. 제한사항 7*7 격자판의 정보가 주어집니다. 첫 번째 줄에 최단으로 움직인 칸의 수를 출력한다. 도착할 수 없으면 -1를 출력한다 문제풀이 from collections import deque dx=[-1, 0, 1, 0] dy=[0, 1, 0, -1] a=[list(map(int, input().split())) for _ i..
65)사과나무(BFS) 문제 현수과 수확하는 사과의 총 개수를 출력하세요. 조건 현수의 농장은 N*N 격자판으로 이루어져 있으며, 각 격자안에는 한 그루의 사과나무가 심어저 있다. N의 크기는 항상 홀수이다. 가을이 되어 사과를 수확해야 하는데 현수는 격자판안의 사과를 수확할 때 다이아몬드 모양의 격자판만 수확하고 나머지 격자안의 사과는 새들을 위해서 남겨놓는다. 만약 N이 5이면 아래 그림과 같이 진한 부분의 사과를 수확한다. 제한사항 첫 줄에 자연수 N(홀수)이 주어진다.(3