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 |
当我提交的那一刹那,我意识到一个bug。。然后我惊奇的发现竟然已经AC程序;(详见错误处) #include<iostream> #include<string> #include<math.h> using namespace std; int main() { string s,re; cin>>re; int i,j,k,lre,ls; while(cin>>s&&s!="0") { lre=re.length();ls=s.length(); int jin=0,tmp; if(lre>=ls) { for(i=lre-1,j=ls-1;j>=0;i--,j--) { tmp=re[i]+s[j]-'0'-'0'+jin; re[i]=tmp%10+'0'; jin=tmp/10; } for(;i>=0;i--) { if(jin==0) break; tmp=re[i]+jin-'0'; re[i]=tmp%10+'0'; jin=tmp/10; } if(jin==1) re='1'+re; } else { for(i=lre-1,j=ls-1;i>=0;i--,j--) { tmp=re[i]+s[j]-'0'-'0'+jin; s[j]=tmp%10+'0'; jin=tmp/10; } for(;j>=0;j--) { if(jin==0) break; tmp=s[j]+jin-'0'; s[j]=tmp%10+'0'; jin=tmp/10; } if(jin==1) re='1'+s; else re=s; //错误处 //此处原来忘记加了。。也就是说poj的测试数据中不存在以后的数比原来的长度 //长的大数了。。 } } cout<<re<<endl; system("pause"); return 0; } 也就是说 对于 19999 4555555555 没有这种测试数据; Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator