백준/DFS_BFS
# 1012: 유기농 배추
bright_code
2020. 10. 2. 21:21
728x90
반응형
import sys
sys.setrecursionlimit(50000)
def dfs(y,x):
if x <0 or y<0 or x>=m or y>=n :
return False
if graph[y][x] == 1 :
graph[y][x] = 0 # 방문처리
dfs(y-1,x)
dfs(y+1,x)
dfs(y,x-1)
dfs(y,x+1)
return True
return False
t = int(input())
t_cnt = []
for i in range(t):
m, n, k = map(int,sys.stdin.readline().split()) # 가로 세로 배추
graph = [ [0]*m for i in range(n) ]
for i in range(k):
a, b = map(int,input().split())
graph[b][a] = 1
cnt = 0
for y in range(n):
for x in range(m):
if dfs(y,x) == True:
cnt += 1
t_cnt.append(cnt)
for i in t_cnt:
print(i)
1. 풀이 : dfs 사용
2. 유의점 : 계속 런타임 에러 나서 한참 헤맸는데 위에 import sys ; sys.setrecursionlimit(50000) 이 코드만 넣으면 바로 해결 된다. 파이썬은 기본이 재귀가 1000 으로 설정되어 있어서 그렇다고 한다. 아마 확인하는 예제 중에 재귀가 1000이 넘어가는 것이 있는 듯 하다..
1012번: 유기농 배추
차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 �
www.acmicpc.net
728x90
반응형