比赛 |
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;
}