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 |
为什么这道简单题都不停的wa,有什么陷阱?太受打击了#include<iostream> #include<cstring> #define max(a,b) (a>b?a:b) using namespace std; short str[600][1000]={0}; void plus_(short* s1,short* s2,short*res){ int len=max(s1[0],s2[0]); int i; for(i=1;i<=len;i++){ res[i]+=(s1[i]+s2[i])%10; res[i+1]+=(s1[i]+s2[i])/10; } if(res[len+1]!=0)len++; res[0]=len; } int compare(short*s1,short*s2){ int i; if(s1[0]<s2[0])return -1; else if(s1[0]>s2[0])return 1; int len=s1[0]; for(i=len;i>=1;i--){ if(s1[i]>s2[i])return 1; else if(s1[i]<s2[i])return -1; } return 0; } void ini(){ str[1][0]=1; str[1][1]=1; str[2][0]=1; str[2][1]=2; int i=3; while(i<600){ plus_(str[i-1],str[i-2],str[i]); /* for(int j=str[i][0];j>=1;j--){ cout<<str[i][j]; } cout<<endl; */ i++; } } int main(){ int i,j; ini(); short s1[1000],s2[1000]; char _s1[1000],_s2[1000]; short end[1000]={1}; int len_1,len_2; //scanf("%s %s",_s1,_s2); cin>>_s1>>_s2; len_1=strlen(_s1); len_2=strlen(_s2); s1[0]=len_1; for(i=1;i<=len_1;i++){ s1[i]=_s1[len_1-i]-'0'; } s2[0]=len_2; for(i=1;i<=len_2;i++){ s2[i]=_s2[len_2-i]-'0'; } while(compare(s1,end)!=0||compare(s2,end)!=0){ int num_1,num_2; int n=1; while(compare(str[n],s1)<0){ n++; } num_1=n-1; if(n>1)n--; while(compare(str[n],s2)<=0){ n++; } num_2=n-1; /* for(i=s1[0];i>=1;i--){ cout<<s1[i]; } cout<<endl; for(i=s2[0];i>=1;i--){ cout<<s2[i]; } cout<<endl; */ //cout<<num_1<<' '<<num_2<<endl; cout<<num_2-num_1<<endl; //scanf("%s %s",_s1,_s2); cin>>_s1>>_s2; len_1=strlen(_s1); len_2=strlen(_s2); s1[0]=len_1; for(i=1;i<=len_1;i++){ s1[i]=_s1[len_1-i]-'0'; } s2[0]=len_2; for(i=1;i<=len_2;i++){ s2[i]=_s2[len_2-i]-'0'; } } system("pause"); return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator