파이썬 재귀 최대깊이 지정 sys.setrecursionlimit( limit )
https://docs.python.org/2/library/sys.html#sys.setrecursionlimit
https://www.acmicpc.net/problem/1012
파이썬 써본지 얼마 안되서 DFS를 구현하는 문제를 풀었는데 알고리즘상에 문제가 없어보이는데 자꾸 오답이 나왔다. 무슨 문젠가 몇시간 동안 고민했는데 이유는 재귀깊이 한계치가 작아서였다.
을 추가해줬더니 정답처리 됐다.
https://www.acmicpc.net/problem/1012
파이썬 써본지 얼마 안되서 DFS를 구현하는 문제를 풀었는데 알고리즘상에 문제가 없어보이는데 자꾸 오답이 나왔다. 무슨 문젠가 몇시간 동안 고민했는데 이유는 재귀깊이 한계치가 작아서였다.
import sys sys.setrecursionlimit(10**6)
을 추가해줬더니 정답처리 됐다.
import sys sys.setrecursionlimit(10**6) bat = [] dx = [0,1,0,-1] dy = [1,0,-1,0] M = N = K = 0 def dfs(x,y): bat[x][y]=0 for k in range(4): i = x + dx[k] j = y + dy[k] if(i>=M or i<0 or j>=N or j<0):continue if(bat[i][j]==1): dfs(i,j) return for t in range(input()): (M,N,K)= map(int, raw_input().split()) cnt = 0 bat = [[0 for j in range(N+1)] for i in range(M+1)] for i in range(K): (a,b) = map(int, raw_input().split()) bat[a][b] = 1 for i in range(M): for j in range(N): if(bat[i][j]==1): dfs(i,j) cnt = cnt + 1 print cnt
댓글
댓글 쓰기