JLIS 답지인데.. 뭐가틀린지 리뷰해주실분 계신가요.. previc 샘플은 다 맞고, 제출하면 바로 오답처리되는거 보니 제 생각엔 알고리즘 문제보다는 입출력쪽에 문제가 있는것같은데 못찾겠네요 ㅜ #include <stdio.h> __inline int max(int a, int b) { return a > b ? a : b; } int seq_A[101], seq_B[101]; unsigned int n, m; int Cache[101][104]; int jlis2(int A_start, int B_start) { int *ret = &Cache[A_start][B_start]; int val = max(seq_A[A_start], seq_B[B_start]); if (*ret != -1) return *ret; *ret = 0; for (int i = A_start + 1; i <= n; i++) { if (val < seq_A[i] ) *ret = max(*ret, 1 + jlis2(i, B_start)); } for (int i = B_start + 1; i <= m; i++) { if (val < seq_B[i]) *ret = max(*ret, 1 + jlis2(A_start, i)); } return *ret; } int main() { unsigned int C; seq_A[0] = seq_B[0] = -1; scanf("%u", &C); while (C) { for (int *p = &Cache[0][0]; p <= &Cache[101][104]-8; p+=8) { *p = *(p + 1) = *(p + 2) = *(p + 3) = *(p + 4) = *(p + 5) = *(p + 6) = *(p + 7) = -1; } scanf("%u", &n); scanf("%u", &m); for (int i = 1; i <= n; i++) { scanf("%u", &seq_A[i]); } for (int i = 1; i <= m; i++) { scanf("%u", &seq_B[i]); } printf("%d \n", jlis2(0,0)); C--; } return 0; } 8년 전
0개의 댓글이 있습니다. 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
previc
샘플은 다 맞고, 제출하면 바로 오답처리되는거 보니 제 생각엔 알고리즘 문제보다는 입출력쪽에 문제가 있는것같은데 못찾겠네요 ㅜ
8년 전