얼렁뚱땅 백준 문제풀이

[백준 문제풀이] 얼렁뚱땅 1012번 유기농 배추 풀이

MOSTAR 2022. 3. 31. 00:26

https://www.acmicpc.net/problem/1012

 

예전에 올렸었는데 자꾸 뭐 에러떠서 개~~~빡쳤었는데

 

그 에러 이름은 런타임 에러(Recursion Error)

오늘은 에러 안뜨겠찌~~ 하고 어제 dfs 공부한 김에 해봣는데

또 똑같이 떳다 

속상했다

 

근데 난 멍청이다.

인터넷에 검색할 생각을 안했다....

 

import sys
sys.setrecursionlimit(10**6)
test_case = int(sys.stdin.readline())

def dfs(x,y) :
	if x<=-1 or y<=-1 or x>row or y>col :
		return False
	if [x,y] in array :
		array.remove([x,y])
		dfs(x-1,y)
		dfs(x+1,y)
		dfs(x,y+1)
		dfs(x,y-1)
		return True
	return False

for i in range(test_case) :
	row, col, k = map(int, sys.stdin.readline().split())
	array = [list(map(int,sys.stdin.readline().split())) for i in range(k)]
	jirung = 0

	for r in range(row) :
		for c in range(col) :
			if dfs(r,c) == True :
				jirung += 1

	print(jirung)

ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ

sys.setrecusionlimit(10**6)

을 쓰면 바로 해결되는 거였다

 

이게 뭐 저절로 정해진 도는 횟수가 있는데 그걸 넘어서 뜬 에러라구 한다

ㅎㅎㅎㅎㅎㅎㅎ 야호 .. ㅎ