Little Boxes(高精度+高精度)
2019-10-14 13:15 木木王韦 阅读(196) 评论(0) 收藏 举报Little Boxes
Little boxes on the hillside.
Little boxes made of ticky-tacky.
Little boxes.
Little boxes.
Little boxes all the same.
There are a green boxes, and b pink boxes.
And c blue boxes and d yellow boxes.
And they are all made out of ticky-tacky.
And they all look just the same.
Input
The input has several test cases. The first line contains the integer t (1 ≤ t ≤ 10) which is the total number of test cases.
For each test case, a line contains four non-negative integers a, b, c and d where a, b, c, d ≤ 2^62, indicating the numbers of green boxes, pink boxes, blue boxes and yellow boxes.
Output
For each test case, output a line with the total number of boxes.
Sample Input
4
1 2 3 4
0 0 0 0
1 0 0 0
111 222 333 404
Sample Output
10
0
1
1070
大数模板可真好用੧ᐛ੭
#include<iostream>
using namespace std;
const int L=110;
string add(string a,string b){
string ans;
int na[L]={0},nb[L]={0};
int la=a.size(),lb=b.size();
for(int i=0;i<la;i++){
na[la-1-i]=a[i]-'0';
}
for(int i=0;i<lb;i++){
nb[lb-1-i]=b[i]-'0';
}
int lmax=la>lb?la:lb;
for(int i=0;i<lmax;i++) na[i]+=nb[i],na[i+1]+=na[i]/10,na[i]%=10;
if(na[lmax]) lmax++;
for(int i=lmax-1;i>=0;i--) ans+=na[i]+'0';
return ans;
}
string a,b,c,d;
int main(){
ios::sync_with_stdio(0);
cin.tie(0),cout.tie(0);
int T;
cin>>T;
while(T--){
cin>>a>>b>>c>>d;
a=add(a,b);
c=add(c,d);
a=add(a,c);
cout<<a<<endl;
}
return 0;
}
浙公网安备 33010602011771号