比赛 NOIP2015普及组练习 评测结果 AAAAAA
题目名称 增强的减法问题 最终得分 100
用户昵称 Arrow 运行时间 0.010 s
代码语言 C++ 内存使用 0.26 MiB
提交时间 2015-11-05 21:37:58
显示代码纯文本
#include<fstream>
#include<string>
using namespace std;
int main()
{
	ifstream fin("sub.in");
	ofstream fout("sub.out");
	int f=0,m=0,la=0,lb=0,xa=0,xb=0;
	int x[100]={0},y[101]={0},ans[101]={0};
	string a,b,c;
	fin>>a>>b;//fout<<a<<endl<<b<<endl;
	if(a==b){
		fout<<0;return 0;}
	if(b>a&&a.length()<=b.length()){
		c=a;
		a=b;
		b=c;f=1;}
    la=a.length();
	lb=b.length();
	if(lb>la)
		m=lb;
	else m=la;//fout<<m<<endl
	for(int i=la-1;i>=0;i--){
		x[xa]=a[i]-'0';
		//fout<<x[xa]<<' ';
		xa++;}
	//fout<<endl;
	for(int i=lb-1;i>=0;i--){
		y[xb]=b[i]-'0';
		//fout<<y[xb]<<' ';
		xb++;}
	for(int i=0;i<m;i++){
		if(x[i]<y[i]){
			x[i+1]-=1;
			x[i]+=10;}
	    ans[i]=x[i]-y[i];}
	if(f==1)
		fout<<'-';
	m=m-1;
	while(m>0&&ans[m]==0){
		m--;}
	for(int i=m;i>=0;i--){
		fout<<ans[i];}
	fin.close();
	fout.close();
return 0;
}