JLIS문제, 거의 책을 보고 짠 소스인데 오답이 떠서 질문드립니다! skan1543 #include<stdio.h> #include <limits> using namespace std; int n,m; long long a[105],b[105]; int cache[105][105]={0,}; const long long NEGINF = numeric_limits<long long>::min(); int count(int x,int y) { if(cache[x][y]!=0) return cache[x][y]; int max=2; long long bigger = a[x]>b[y] ? a[x]:b[y]; for(int i=x+1;i<=n;i++) { if(a[i]>bigger) { int temp=count(i,y); if(temp+1>max) max=temp+1; } } for(int j=y+1;j<=m;j++) { if(b[j]>bigger) { int temp=count(x,j); if(temp+1>max) max=temp+1; } } cache[x][y]=max; return max; } int main() { int T; scanf("%d",&T); while(T--) { scanf("%d %d",&n,&m); int i,j; a[0]=NEGINF; b[0]=NEGINF; for(i=1;i<=n;i++) scanf("%d",&a[i]); for(i=1;i<=m;i++) scanf("%d",&b[i]); int answer=0; answer=count(0,0); printf("%d\n",answer-2); for(i=0;i<=104;i++) for(j=0;j<=104;j++) cache[i][j]=0; } return 0; } JLIS 전체적인 아이디어는 책을 참고하였고.. 메모이제이션에 쓸 배열초기화도 했구, 책과도 다른점이 거의 없는데 오답이 뜨네요.. 어디가 틀린걸까요? 9년 전
2개의 댓글이 있습니다. skan1543 하... %lld로 a랑 b를 입력받아야 하는거였군요... 그런데 음, 어짜피 입력이 32비트로 표현가능한것들만 들어오는데, 왜 %d해주면 안되는걸까요? 9년 전 link Being https://en.wikipedia.org/wiki/Endianness 9년 전 link 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.
skan1543
JLIS
전체적인 아이디어는 책을 참고하였고..
메모이제이션에 쓸 배열초기화도 했구, 책과도 다른점이 거의 없는데 오답이 뜨네요.. 어디가 틀린걸까요?
9년 전