Little Boxes HDU - 6225(大整数模拟)

板子题,AC代码:

#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include <cstdio>
#include <algorithm>
//#define int long long
using namespace std;
const int maxn=1e6+5;
string add(string a,string b){
	if(a>b)swap(a,b);
	int flag=0;
	for(int i=0;i<a.size();i++){
		int x=a.size()-i-1,y=b.size()-i-1;
		int aa=a[x]-'0';
		int bb=b[y]-'0';
		aa+=bb;
		if(flag)aa+=1;
		if(aa>=10)flag=1;
		else flag=0;
		b[y]=aa%10+'0';
	}
	for(int i=b.size()-a.size()-1;i>=0;i--){
		int bb=b[i]-'0';
		if(flag)bb+=1;
		if(bb>=10)flag=1;
		else flag=0;
		b[i]=bb%10+'0';
	}
	if(flag)b="1"+b;
	return b;
}
int main() {
	int t;
	cin>>t;
	while(t--) {
		string a,b,c,d;
		cin>>a>>b>>c>>d;
		string x=add(a,b);
		string y=add(c,d);
		//cout<<x<<" "<<y<<endl;
		cout<<add(x,y)<<endl;		
	}
}

猜你喜欢

转载自blog.csdn.net/Alanrookie/article/details/107729495
今日推荐