picnic 문제 질문합니다 yhb #include<stdio.h> int students, rela[10][10], isPair[10], count = 0; int pat() { int i, first = -1; for (i = 0; i < students; i++) { if (isPair[i] == 0) { first = i; break; } } if (first == -1) { count++; return 0; } for (i = first + 1; i < students; i++) { if (isPair[i] == 0) { if (rela[first][i] == 1) { isPair[first] = 1; isPair[i] = 1; pat(); isPair[i] = 0; isPair[first] = 0; } } } return 0; } int main() { int i, j, a, b, pairs, q, nn; scanf("%d", &nn); for (q = 0; q < nn; q++) { count = 0; scanf("%d %d", &students, &pairs); for (i = 0; i < pairs; i++) isPair[i] = 0; for (i = 0; i < pairs; i++) for (j = 0; j < pairs; j++) rela[i][j] = 0; for (i = 0; i < pairs; i++) { scanf("%d %d", &a, &b); rela[a][b] = 1; rela[b][a] = 1; } pat(); printf("%d\n", count); } } 알고리즘 문제해결전략 책을 풀고 있는데 c++로 된 코드를 제 나름대로 c로 바꿔봤는데 오답이 나오네요 예제는 잘 실행이 되는데 어떤 값을 넣었을때 오류인지 잘 몰라서 어느 부분이 틀린지 잘 모르겠습니다 ㅠㅠ 7년 전
2개의 댓글이 있습니다. seico75 isPair 와 rela 는 학생수와 관련이 있고, 입력에서 주어진 pair 수는 관련이 없어 보입니다. 7년 전 link yhb seico75님 아 감사합니다 이런실수를하다니..ㅠ 감사합니다! 7년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
yhb
알고리즘 문제해결전략 책을 풀고 있는데 c++로 된 코드를 제 나름대로 c로 바꿔봤는데 오답이 나오네요 예제는 잘 실행이 되는데
어떤 값을 넣었을때 오류인지 잘 몰라서 어느 부분이 틀린지 잘 모르겠습니다 ㅠㅠ
7년 전