比赛 NOIP2015普及组练习 评测结果 AAAAAAAAAA
题目名称 增强的加法问题 最终得分 100
用户昵称 NvrSayDie 运行时间 0.004 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2015-11-06 09:35:04
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
#define Ricardo TURTLE
using namespace std;
struct lllong{
	int v[200];
	lllong operator + (const lllong &a) const {
		lllong c;
		int temp=0,next=0,l=max(v[0],a.v[0]);
		for (int i=1;i<=l;i++) {
			temp=v[i]+a.v[i]+next;
			next=temp/10;
			c.v[i]=temp%10;
			if (i==l && next!=0) 
				l++;
		}
		c.v[0]=l;
		return c;
	}
};




int main() {
	freopen("add.in","r",stdin);
	freopen("add.out","w",stdout);
	string q,w;
	lllong a,b;
	memset(a.v,0,sizeof(a.v));
	memset(b.v,0,sizeof(b.v));
	cin>>q;
	cin>>w;
	int lq=q.size();
	int lw=w.size();
	a.v[0]=lq;
	b.v[0]=lw;
	for (int i=lq;i>=1;i--) {
		a.v[i]=q[lq-i]-'0';
	}
	for (int i=lw;i>=1;i--) {
		b.v[i]=w[lw-i]-'0';
	}
	a=a+b;
	if (a.v[0]==0) printf("0");
	for (int i=a.v[0];i>=1;i--) 
		printf("%d",a.v[i]);
		

	return 0;
}