분류 전체보기

    13.섬나라 아일랜드(BFS 활용)

    문제 - 생략 문제풀이 import sys from collections import deque sys.stdin=open("input.txt", "r") dx=[-1, -1, 0, 1, 1, 1, 0, -1] dy=[0, 1, 1, 1, 0, -1, -1, -1] n=int(input()) board=[list(map(int, input().split())) for _ in range(n)] cnt=0 Q=deque() for i in range(n): for j in range(n): if board[i][j]==1: #행단위로 검색하면서 최초로 단지 발견 board[i][j]=0 #부모였을때 이미 방문한 경우 흔적을 남긴다. Q.append((i, j)) while Q: tmp=Q.popleft()..

    12.단지 번호 붙이기(DFS)

    12.단지 번호 붙이기(DFS)

    문제 - 생략 문제풀이 import sys sys.stdin=open("input.txt", "r") dx=[-1, 0, 1, 0] dy=[0, 1, 0, -1] def DFS(x, y): global cnt cnt+=1 #집좌표가 넘어 오면 카운팅 board[x][y]=0 #이미 방문한 경우 흔적을 남긴다. for i in range(4): #range의 범위만큼 자식이 생긴다 xx=x+dx[i] yy=y+dy[i] if 0

    11. 등산경로(DFS)

    문제-생략 문제풀이 import sys sys.stdin=open("input.txt", "r") dx=[-1, 0, 1, 0] dy=[0, 1, 0, -1] def DFS(x, y): global cnt if x==ex and y==ey: cnt+=1 else: for k in range(4): #range의 범위만큼 자식이 생긴다. xx=x+dx[k] yy=y+dy[k] if 0

    10.미로탐색(DFS) - 섹션6의 순열구하기 문제참고

    문제 -생략 문제풀이 import sys sys.stdin=open("input.txt", "r") dx=[-1, 0, 1, 0] dy=[0, 1, 0, -1] def DFS(x,y): global cnt if x==6 and y == 6: #if문을 만족하는 여러 case가 나올 것이다. cnt+=1 else: for i in range(0, 4): #range의 범위는 트리의 가지(자식) 수를 의미한다. i는 branch의 값을 의미한다. xx=x+dx[i] yy=y+dy[i] if 0