setrecursionlimit 설정했는데, 프로그램이 중간에 종료됩니다.
219
작성한 질문수 6
안녕하세요 강사님. 좋은 강의 감사합니다.
in4.txt 로 테스트할 때 , 비의 높이를 설정하는 for 문에서 1부터 시작하면 프로그램이 오류 없어 종료되어 버립니다. 그래서 cnt_debug 를 출력해보면 2600 정도에서 종료되어 버립니다. for문을 2 부터 시작하면 정상동작하고, 5개의 테스트도 성공합니다. 컴퓨터도 작년에 구매해서 파이썬 안돌아갈 정도는 아닙니다.
강사님 코드랑 비교해봤는데, 특별한 오류는 없는거 같습니다. python 버전은 3.7.9 입니다. 혹시 제가 실수한 부분이 있나요?
import sys
sys.stdin=open('in4.txt','rt')
# input=sys.stdin.readline
sys.setrecursionlimit(10**6)
def DFS(x,y,T):
global cnt_debug
cnt_debug+=1
ch[x][y]=1
for i in range(4):
xx=x+dx[i]
yy=y+dy[i]
if 0<=xx<n and 0<=yy<n and a[xx][yy]>T:
if ch[xx][yy]==0:
print('>>>cnt:', cnt_debug, end=' ') ===> 디버깅 cnt 출력
DFS(xx,yy,T)
if __name__=='__main__':
dx=[-1,0,1,0]
dy=[0,1,0,-1]
n=int(input())
a=[list(map(int, input().split())) for _ in range(n)]
max1=0
for xx in a:
for x in xx:
if x>max1:
max1=x
res=list()
for t in range(1, 100): ===> 이부분을 "2" 부터 시작하면 잘되는데, 1부터 하면 중간에 프로그램이 중간에 오류없이 종료됩니다.
if t > max1:
break
cnt=0
ch=[[0]*n for _ in range(n)]
for i in range(n):
for j in range(n):
if a[i][j]>t and ch[i][j]==0:
cnt_debug=0
DFS(i,j,t)
cnt+=1
res.append(cnt)
print(max(res))
오류 화면은 아래와 같습니다. 2607에서 종료됩니다. 특별한 오류 메시지는 없습니다.
답변 1
기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.
0
76
2
스택에서 ')'을 만나는 경우
0
77
3
문제가 어디있나요?
0
63
2
변수 or 함수명
0
60
1
침몰하는 타이타닉 문제 질문입니다
0
53
1
AA.py 책점 에러
0
57
1
오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.
0
111
2
5.동전분배하기 문제 밑에코드도 정답이될까요?
0
108
1
아나그램 비교 코드
0
115
2
AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.
0
159
2
문제 링크가있나여?
0
147
2
채점기 Time Limit Exceeded 오류 문의
1
162
2
동적계획법은 사용하는 문제
0
124
2
제 코드 좀 봐주세요
0
147
1
예외가 존재할 가능성?
0
96
1
3번이 안풀립니다
0
92
0
5번 틀림
0
112
0
오류원인?
0
97
0
리스트 선언
0
106
1
침몰하는 타이타닉(그리디) 문제 질문
0
109
1
알고리즘
0
65
1
코딩테스트
0
88
1
DFS 순서 질문드립니다.
0
120
2
left, right를 사용한 풀이법에 대한 질문입니다
0
88
1





