MORSE 질문좀 드릴게요 cspark89 #include<iostream> using namespace std; int matrix[222]; unsigned long long int comb[204][204]; int loop; void _Comb(int n, int m) { for(int i=0;i<=n;i++) { comb[0][i] = 1; } for(int i=0;i<=m;i++) { comb[i][0] = 1; } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { comb[i][j] = comb[i-1][j] + comb[i][j-1]; } } } void _Init_matrix () { for(int i = 0;i < 222 ; i++) { matrix[i] = 0; } loop = 0; } int _Set_matrix (int n, int m, int k) { if(n == 0 && m == 0) { return 0; } unsigned long long int cutout; if(n + m - 2 < 0) { cutout = 1; } else if(n - 1 < 0 && n + m - 2 >= 0) { cutout = comb[n + m - 2][m - 1]; } else if(n - 1 >= 0 && n + m - 2 >= 0) { cutout = comb[n + m - 2][n - 1]; } if(n > 0 && k <= cutout) { _Set_matrix (n - 1, m, k); matrix[loop++] = 0; return 0; } _Set_matrix (n, m - 1, k - cutout); matrix[loop++] = 1; return 0; } int main(void) { int case_cnt; int n, m, k; cin >> case_cnt; while(case_cnt--) { cin >> n >> m >> k; _Comb(n + m, n + m); _Set_matrix(n, m, k); for(int i=n+m-1;i>=0;i--) { if(matrix[i] == 0) { cout << "-"; } if(matrix[i] == 1) { cout << "o"; } } cout << endl; _Init_matrix(); } } 답은 다 나오고 여러가지 오류 날만한 경우 모두 넣어봤는데 RTE (SIGSEGV: segmentation fault, probably incorrect memory access) 만 뜨고 정답이 안나오네요 도와주세요 ㅠ 11년 전
1개의 댓글이 있습니다. JongMan 아주 큰 입력을 여러 개 생성해서 한번 넣어보세요 (n, m이 모두 100에 가까운) 11년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
cspark89
답은 다 나오고 여러가지 오류 날만한 경우 모두 넣어봤는데
RTE (SIGSEGV: segmentation fault, probably incorrect memory access) 만 뜨고 정답이 안나오네요 도와주세요 ㅠ
11년 전