BRAVEDUCK 질문입니다. ksh92315 #include<stdio.h> #include<math.h> double distance(int a,int b, int c,int d){ float e=0.0; double f=0.0; e=(float)(c-a)*(c-a)+(d-b)*(d-b); f=sqrt(e); return f; } int distinguish(int J,int start_x,int start_y,int end_x,int end_y,int stone[50][50]){ int i,j,a=0; for(i=start_x;i<50;i++){ for(j=start_y;j<50;j++){ if(stone[i][j]==1){ if(J>=distance(start_x,start_y,i,j)&&(i!=start_x||j!=start_y)){ a=distinguish(J,i,j,end_x,end_y,stone); } if(J>distance(start_x,start_y,end_x,end_y)) return 1; } } } return a; } int main(){ int test=0,x,y,stone_count=0,i[10]={0,},k,j=0; int J=0; int start_x,start_y; int end_x,end_y; int stone[50][50]={0,}; scanf("%d",&test); for(k=0;k<test;k++){ scanf("%d",&J); scanf("%d %d",&start_x,&start_y); scanf("%d %d",&end_x,&end_y); scanf("%d",&stone_count); while(j++<stone_count){ scanf("%d %d",&x,&y); stone[x][y]=1; } j=0; i[k]=distinguish(J,start_x,start_y,end_x,end_y,stone); } for(k=0;k<test;k++) if(i[k]==1) printf("YES\n"); else if(i[k]==0) printf("NO\n"); return 0; } BRAVEDUCK DFS알고리즘을 사용하여 풀었는데 비주얼로 실행했을때는 잘되는데 RTE (SIGSEGV: segmentation fault, probably incorrect memory access or stack overflow) 답안결과는 이 런타임오류가 뜹니다.. 도대체 어디가 문제인지 알수있을까요? 9년 전
2개의 댓글이 있습니다. jseo 일단은 x, y 둘다 음수일 수 있습니다. 9년 전 link ksh92315 아;; 엄청난 실수를 저질럿네요 ;; 감사합니다 9년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
ksh92315
BRAVEDUCK
DFS알고리즘을 사용하여 풀었는데 비주얼로 실행했을때는 잘되는데
RTE (SIGSEGV: segmentation fault, probably incorrect memory
access or stack overflow)
답안결과는 이 런타임오류가 뜹니다.. 도대체 어디가 문제인지 알수있을까요?
9년 전