记录编号 422175 评测结果 RRRRRRRRRR
题目名称 增强的加法问题 最终得分 0
用户昵称 Gravatar加藤惠 是否通过 未通过
代码语言 C++ 运行时间 0.002 s
提交时间 2017-07-09 09:44:20 内存使用 0.31 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int x[151]={0},y[151]={0},a_length,b_length;
bool flag;
void subb()
{
		if(flag)
		{
			for(int i=150;i>=1;i--)
			{
				x[i]=x[i]-y[i];
				if(x[i]<0)
				{
					x[i-1]-=1;
					x[i]+=10;
				}
			}
			int k=1;
			while(k<=150)
			{
				k++;
				if(x[k]!=0)
				break;
			}
			while(k<=150)
			{
				cout<<x[k];
				k++;
			}
		}
		else
		{
			cout<<"-";
			for(int i=150;i>=1;i--)
			{
				y[i]=y[i]-x[i];
				if(y[i]<0)
				{
					y[i-1]-=1;
					y[i]+=10;
				}
			}
			int k=1;
				while(k<=150)
				{
					k++;
					if(y[k]!=0)
					break;
				}
				while(k<=150)
				{
					cout<<y[k];
					k++;
				}
		}
}
int main()
{
	freopen ("sub.in","r",stdin);
	freopen ("sub.out","w",stdout);
	string a,b;
	cin>>a>>b;
	a_length=a.length();
	b_length=b.length();
	for(int i=150,j=a_length-1;j>=0;i-- && j--)
		x[i]=a[j]-48;
	for(int i=150,j=b_length-1;j>=0;i-- && j--)
		y[i]=b[j]-48;
	if(a_length>b_length)
		flag=true;
	if(a_length<b_length)
	flag=false;
	if(a_length==b_length)
	{
		if(a>=b)
			flag=true;
		if(a<b)
			flag=false;
	}
	subb();
	if(a==b)
		cout<<"0";
	return 0;
}