哪错了
查看原帖
哪错了
1346358
0132linzixuan楼主2024/12/27 13:41

WA 9个点

#include<bits/stdc++.h>
using namespace std;
int a[int(1e5)],b[int(1e5)],c[int(1e5)];
string Minus(string s1,string s2){
	int len1=s1.size();
	int len2=s2.size();
	int len=max(len1,len2);
	for(int i=0;i<len1;i++){
		a[i]=s1[len1-1-i]-'0';
	}
	for(int i=0;i<len2;i++){
		b[i]=s2[len-1-i]-'0';
	}
	for(int i=0;i<len;i++){
		c[i]+=a[i]-b[i];
		c[i+1]+=c[i]/10;
		c[i]%=10;
	}
	if(len>1){
		while(len>0&&a[len]==0) len--;
		while(a[len]!=0) len++;
	}
	if(len2>len1) cout<<'-';
	else if(len2==len1){
		int am=0;
		while(s1[am]==s2[am]) am++;
		if(s2[am]>s1[am]) cout<<'-';
	}
	for(int i=len-1;i>-1;i--) cout<<c[i];
}
int main(){
	string s1,s2;
	cin>>s1>>s2;
	Minus(s1,s2);
}
2024/12/27 13:41
加载中...