60求条(必关)
查看原帖
60求条(必关)
1786837
Killeryudingyue楼主2025/7/22 11:39
#include<bits/stdc++.h>
using namespace std;
int a[100005],b[100005],c[100005]; 
int main(){
	string x,y;
	cin>>x>>y;
	int op=0;
	if(x.size()<y.size())swap(x,y);
	else if(x.size()==y.size()){
		for(int i=0;i<x.size();i++){
			if(x[i]<y[i]){swap(x,y);op=1;}
			if(x[i]>y[i]){break;}
		}
	}
	int len=max(x.size(),y.size());
	if(x==y){cout<<0;return 0;};
	for(int i=x.size()-1;i>=0;i--)a[x.size()-i]=x[i]-'0';	
	for(int i=y.size()-1;i>=0;i--)b[y.size()-i]=y[i]-'0';
	for(int i=1;i<=len;i++){
		if(a[i]>=b[i])c[i]=a[i]-b[i];
		else{
			a[i]+=10;
			a[i+1]-=1; 	
			c[i]=a[i]-b[i];
		}
	}
	int len2;
	for(len2=len;len2>=1;len2--){
		if(c[len2])break;
	}
	if(op==1)cout<<'-';
	for(int i=len2;i>=1;i--){
		cout<<c[i];
	}
}
2025/7/22 11:39
加载中...