比赛 NOIP2015普及组练习 评测结果 WWWWWW
题目名称 增强的减法问题 最终得分 0
用户昵称 FamilyMolin 运行时间 0.004 s
代码语言 C++ 内存使用 0.32 MiB
提交时间 2015-11-06 20:56:14
显示代码纯文本
#include<fstream>
#include<string>
using namespace std;
string n,m;
int a[102],b[102];
string af(string a,string b)
{
	int x[102],y[102],cha[102],lx,ly,lmax,i,t;
	string c;
	bool fu;
	lx=a.length();
	ly=b.length();
	if(lx>ly)
		lmax=lx;
	else
		lmax=ly;
	if(lx<ly||(lx==ly&&a<b))
	{
		fu=true;
		c=a;
		a=b;
		b=c;
		t=lx;
		lx=ly;
		ly=t;
		
	}
	else
		fu=false;
	for(i=1;i<=lmax;i++)
	{
		x[i]=0;
		y[i]=0;
		cha[i]=0;
	}
	for(i=lx-1;i>=0;i--)
		x[lx-i]=a[i]-48;
	for(i=ly-1;i>=0;i--)
		x[ly-i]=b[i]-48;
	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>1)
		lmax--;
	c="";
	for(i=lmax;i>=1;i--)
		c+=char(cha[i]+48);
		if (fu)c="-"+c;
		return c;
}
int main()
{
	ifstream fin("sub.in");
	ofstream fout("sub.out");
	fin>>n>>m;
	fout<<af(n,m)<<endl;
	fin.close();
	fout.close();
	return 0;
}