| 比赛 | 
    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;
}