记录编号 284095 评测结果 AAAAAA
题目名称 增强的减法问题 最终得分 100
用户昵称 Gravatar@@@ 是否通过 通过
代码语言 C++ 运行时间 0.000 s
提交时间 2016-07-16 20:54:19 内存使用 0.32 MiB
显示代码纯文本
#include <fstream>   
#include <string>
using namespace std;    
ifstream cin("sub.in");    
ofstream cout("sub.out");    
string a,b;

string sub()
{
	if(a==b)
		return "0";
	int  x[101],y[101],cha[101],lx,ly,lmax,i,t;
	
	string c="";
	bool fu=0;
	lx=a.length();
	ly=b.length();
	if(lx>ly)
		lmax=lx;
	else
		lmax=ly;
	if(lx<ly||(lx==ly&&a<b))
	{
		fu=1;
		c=a;
		a=b;
		b=c;
		t=lx;
		lx=ly;
		ly=t;
	}
	for(i=1;i<=lmax;i++)
		x[i]=y[i]=cha[i]=0;
	for(i=lx-1;i>=0;i--)
		x[lx-i]=a[i]-'0';
	for(i=ly-1;i>=0;i--)
		y[ly-i]=b[i]-'0';
	for(i=1;i<=lmax;i++)
	{
		cha[i]=cha[i]+x[i]-y[i];
		if(cha[i]<0)
		{
			cha[i]+=10;
			cha[i+1]--;
		}
	}
		while(cha[lmax]==0&&lmax>0)
			if(cha[lmax]==0)
			lmax--;
			c="";
		for(i=lmax;i>=1;i--)
			c+=char(cha[i]+'0');
		if(fu)
			c="-"+c;
	return c;
}
int main()    
{    
    cin>>a>>b;
	cout<<sub()<<endl;
	cin.close();    
    cout.close();    
	return 0;     
}