festival문제 질문이요 ㅠㅠ ahnteajun FESTIVAL #include<stdlib.h> #include<stdio.h> void festival(int **line, int L, int LINENUM); int main(){ int CASE, i, j, k, LINENUM, L; int **line; scanf("%d",&CASE); for(i = 0 ; i < CASE ; ++i){ scanf("%d %d",&LINENUM,&L); line = (int**)malloc(sizeof(int*)*LINENUM); for(j = 0 ; j < LINENUM ; ++j){ line[j] = (int*)malloc(sizeof(int)*LINENUM); scanf("%d",&line[j][j]); for(k = j-1 ; k >= 0 ; --k){ line[k][j] = line[k][j-1]+line[j][j]; } } festival(line,L,LINENUM); for(j = 0 ; j < LINENUM ; ++j){ free(line[j]); } free(line); } return 0; } void festival(int **line, int L, int LINENUM){ int i, j; float min; float temp; min = 99999999999; for(i = 0 ; i <= L ; ++i){ for(j = L-1+i ; j < LINENUM ; ++j){ temp = (float)line[i][j]/(j-i+1); if(temp < min){ min = temp; } } } printf("%.11f\n",min); } 다른 예제랑 제가 만들어서 해봤는데, 도저히 틀린곳이 어디인지를 모르겠네요 ㅠㅠ 다이나믹 프로그래밍으로 풀면 될 것같아서 dp로 돌렸는데, 왜 오답이 나오는지를 모르겠네요 ㅠㅠ 고수님들 도와주세요....ㅠㅠ 11년 전
4개의 댓글이 있습니다. JongMan 도움말을 참조해서 우선 소스코드 구문강조가 제대로 되도록 고쳐주세요. 11년 전 link ahnteajun 아 고쳤습니다. ㅠㅠ 11년 전 link Being 길이가 j-i+1인 구간인데 왜 i는 0부터 i <= L 까지만 도나요? 11년 전 link ahnteajun 아 ㅠㅠㅠㅠㅠㅠ 어차피 L길이부터 검사를 시작할거라고 생각하고 <=L까지라고 했는데.. ㅠㅠ 생각해보니가 배열의 각 ROW에서 모든 경우를 고려하지 않네요.. ㅠㅠ <= LINENUM이라고하니까 되네요 ㅠㅠㅠ 감사합니다. 감사합니다 ㅎㅎㅎ 11년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
ahnteajun
FESTIVAL
다른 예제랑 제가 만들어서 해봤는데, 도저히 틀린곳이 어디인지를 모르겠네요 ㅠㅠ
다이나믹 프로그래밍으로 풀면 될 것같아서 dp로 돌렸는데, 왜 오답이 나오는지를 모르겠네요 ㅠㅠ
고수님들 도와주세요....ㅠㅠ
11년 전