티스토리 뷰
한자리수 만들고 한자리수 중에 체크 안된것 확인 -> 두자리수 만들고 두자리수 중에 체크 안된것 확인 ... 체크 안된 수를 찾을 때 까지 반복한다. 체크 배열을 세자리수까지만 잡았는데 세자리 안에 답이 나오는 것 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #include <cstdio> #include <cstring> int t,n,a[1000],c[1000]; int pow(int k) { int ret=1; while(k--) ret*=10; return ret; } int main() { scanf("%d",&t); for(int T=1;T<=t;T++) { memset(c,0,sizeof(c)); scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&a[i]); for(int k=1; ;k++) { bool f=false; for(int i=0;i<=n-k;i++) { int num=0; for(int j=i,w=pow(k-1);j<i+k;j++,w/=10) num+=a[j]*w; c[num]=true; } for(int i=k==1?0:pow(k-1);i<pow(k);i++) { if(!c[i]) { printf("#%d %d\n",T,i); f=true; break; } } if(f) break; } } return 0; } | cs |
'Algorithm > SW Expert Academy' 카테고리의 다른 글
3304 최장 공통 부분 수열 (0) | 2018.04.11 |
---|---|
3307 최장 증가 부분 수열 (0) | 2018.04.11 |
2817 부분 수열의 합 (0) | 2018.04.11 |
1206 View (0) | 2018.03.28 |
1215 회문1 (0) | 2018.03.28 |