1 //http://acm.hdu.edu.cn/showproblem.php?pid=1047 2
//这题要说的,我觉得就是要考虑进位的问题,而且不是进一位两位,可能是很多位, //不过好像不考虑也能过,估计是测试数据太弱了。 //还有就是题目讲了半天不知道再扯什么东西,,,给的Input感觉有问题,,, //水过就好。。。。
3 #include <iostream> 4 #include <string.h> 5 using namespace std; 6 int main() 7 { 8 int n,i,a,l; 9 char s[100]; 10 while(cin>>n) 11 while(n--) 12 { 13 int sum[105]={0},m=0; 14 while(cin>>s,strcmp(s,"0")) 15 { 16 l=strlen(s); 17 if(l>m) 18 m=l; 19 for(i=l-1;i>=0;i--) 20 { 21 sum[l-1-i]+=s[i]-'0'; 22 if(sum[l-1-i]>9) 23 { 24 sum[l-i]+=sum[l-1-i]/10; 25 sum[l-1-i]=sum[l-1-i]%10; 26 } 27 } 28 if(l<m) //我觉得是有必要考虑的 29 { 30 for(i=i;i<m;i++) 31 { 32 if(sum[i]>9) 33 { 34 sum[i+1]+=sum[i]/10; 35 sum[i]=sum[i]%10; 36 } 37 } 38 } 39 40 } 41 l=0; 42 for(i=m+5;i>=0;i--) 43 { 44 if(sum[i]&&l==0) 45 l=1; 46 if(l||i==0) 47 cout<<sum[i]; 48 } 49 cout<<endl; 50 if(n>0) 51 cout<<endl; 52 } 53 }