记录编号 419281 评测结果 AAAAAAAAAA
题目名称 增强的加法问题 最终得分 100
用户昵称 Gravatar123 是否通过 通过
代码语言 C++ 运行时间 0.002 s
提交时间 2017-07-02 15:02:57 内存使用 0.39 MiB
显示代码纯文本
#include <iostream>
#include <cmath>
#include <cstdio>
#include <string>
#include <cstdlib>
using namespace std;
int yc[20000]={0};
string ya,yb;
int main(){
	freopen ("add.in","r",stdin);
	freopen ("add.out","w",stdout);
	int a,b,c,d;
	int f,g,h,i;
	int hh;
	cin>>ya;
	cin>>yb;
	a=ya.length()+1;
	b=yb.length()+1;
	c=max(a,b);
	d=c+10;
	for(i=1;;i++)
	{
		if(a<=1&&b<=1)
			break;
		if(a>1&&b>1)
		{
			hh=ya[a-2]+yb[b-2]+yc[d]-96;
			f=hh%10;
			yc[d]=f;
			hh=hh/10;
			yc[d-1]=hh;
			a--;
			b--;
			d--;
		}
		else
		{
			if(a>b)
			{
				if(yc[d]!=0)
				{
					hh=ya[a-2]+yc[d]-48;
					f=hh%10;
					yc[d]=f;
					hh=hh/10;
					yc[d-1]=hh;
				}
				else
					yc[d]=ya[a-2]-48;
				a--;
			}
			if(a<b)
			{
				if(yc[d]!=0)
				{
					hh=yb[b-2]+yc[d]-48;
					f=hh%10;
					yc[d]=f;
					hh=hh/10;
					yc[d-1]=hh;
				}
				else
					yc[d]=yb[b-2]-48;
				b--;
			}
			d--;
		}
		
	}
	for(i=1;i<=c+10;i++)
	{
		if(yc[i]!=0)
		{
			break;
		}
	}
	if(i==c+11)
	{
		cout<<0;
		exit(0);
	}
	for(f=i;f<=c+10;f++)
		cout<<yc[f];
	return 0;
}