Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Why Time Limit Exceed?(C++)代码如下: #include <stdio.h> int a[1000]={1,0}; int main() { int n,i,j,c; while(scanf("%d",&n)!=EOF) { a[0]=1; for(i=1;i<1000;i++) a[i]=0; if(n==1) { printf("0\n"); continue; } if(n==2||n==3) { printf("1\n"); continue; } for(i=0;i<n-3;i++) { c=0;j=0; do { c+=2*a[j]; a[j]=c%10; c/=10; j++; }while(c!=0||j<n); if(i%2==0) { c=1;j=0; do { c+=a[j]; a[j]=c%10; c/=10; j++; }while(c!=0); } else { c=-1;j=0; do { c+=a[j]; a[j]=c%10; c/=10; j++; }while(c!=0); } } if(i%2==2) { c=1;j=0; do { c+=a[j]; a[j]=c%10; c/=10; j++; }while(c!=0); } i=999; while(a[i]==0) i--; for(;i>=0;i--) printf("%d",a[i]); putchar('\n'); } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator