50分凹半天了!在线求调
查看原帖
50分凹半天了!在线求调
846554
XiMeng_2077楼主2023/8/8 15:33
#include<bits/stdc++.h>
using namespace std;
const int MAXN=10090;
int a[MAXN],b[MAXN],c[MAXN];
string A,B,C="0";int ans=0;
void com(string x,string y){
	int u=x.length();int v=y.length();
	if(v>u){
		//c=x;x=y;y=c;
		ans=1;
	}else if(u=v){
		for(int i=0;i<=x.length();i++){
			if(x[i]<y[i]){
				ans=1;
				break;
			}
		}
	}
	
}
int main(){
	cin>>A>>B;
	if(A==B){
		cout<<'0';return 0;
	}
	com(A,B);
	if(ans){
		swap(A,B);
	}
	int lena=A.length()-1;int lenb=B.length()-1;
	int len=max(A.length(),B.length());
	for(int i=1;i<=A.length();i++,lena--) a[i]=A[lena]-'0';
	for(int i=1;i<=B.length();i++,lenb--) b[i]=B[lenb]-'0';
	for(int i=1;i<=len;i++){
		if(a[i]<b[i]){
			a[i+1]--;
			a[i]+=10;
		}
		c[i]=a[i]-b[i];
	}
	while(c[len] == 0)len--;
    if(len < 1)cout << "0";
	if(ans){
		cout<<'-';
	}
	for(int i=len;i>=1;i--){
		cout<<c[i];
	}
	return 0;
}
2023/8/8 15:33
加载中...