DFS(4)
-
BOJ(백준) 2178번 미로 탐색 파이썬
2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 코드 import sys r=sys.stdin.readline N,M=map(int,r().split()) maze=[] for _ in range(N): maze.append([int(i) for i in r().rstrip()]) dx=[1,-1,0,0] dy=[0,0,1,-1] q=[] for y in range(N): for x in range(M): if maze[y][x]: q.append((x,y)) while q: temp=q[0] q=q[1:] for i in range(4):..
2021.03.22 -
BOJ(백준) 1012번 유기농 배추 파이썬
1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 코드 import sys r=sys.stdin.readline T=int(r()) dx = [1,-1,0,0] dy = [0,0,1,-1] for _ in range(T): M,N,K = map(int,r().split()) field =[[0] * M for _ in range(N)] q = [] worm = 0 for _ in range(K): X,Y = map(int,r().split()) field[Y][X] = 1 for y in range(N): for x in ..
2021.03.19 -
BOJ(백준) [2667번] 단지번호붙이기 파이썬
2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 코드 import sys r = sys.stdin.readline N = int(r()) map = [] for _ in range(N): map.append([int(i) for i in r().rstrip()]) check = [[True] * N for _ in range(N)] danji = 0 q = [] apt = [] dx = [1,-1,0,0] dy = [0,0,1,-1] for y in range(N): for x in range(N): if ma..
2021.03.19 -
BOJ(백준) 1260번 DFS와 BFS 파이썬
1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 코드 import sys r = sys.stdin.readline N,M,V = map(int,r().split()) edge = [[] for _ in range(N+1)] for _ in range(M): A,B = map(int,r().split()) edge[A].append(B) edge[B].append(A) for e in edge: e.sort(reverse=True) def DFS(): dfs = [] sta..
2021.03.19