为啥我自己试数和测试数据都对,但一交就WA,求调
查看原帖
为啥我自己试数和测试数据都对,但一交就WA,求调
1210256
He_zhiyuan楼主2025/2/8 13:26
#include<iostream>
#include<cstring>
#include<cstdio>
#define MAXN 10087
using namespace std;
bool cmp(string a,string b){
	if(a.size()!=b.size())
	return a.size()>b.size();
	for(int i=0;i<a.size();i++)
	if(a[i]>b[i])
	return 1;
	else if(b[i]>a[i])
	return 0;
}
int main(){
	int a[MAXN],b[MAXN],ans[MAXN];
	string A,B;
	memset(a,0,sizeof(a));
	memset(b,0,sizeof(b));
	memset(ans,0,sizeof(ans));
	getline(cin,A);
	getline(cin,B);
	if(cmp(A,B)){
		for(int i=A.size()-1;i>=0;i--)
		a[A.size()-i]=A[i]-48;
		for(int i=B.size()-1;i>=0;i--)
		b[B.size()-i]=B[i]-48;
	}
	else{
		printf("-");
		for(int i=B.size()-1;i>=0;i--)
		a[B.size()-i]=B[i]-48;
		for(int i=A.size()-1;i>=0;i--)
		b[A.size()-i]=A[i]-48;
	}
	for(int i=0;i<=max(A.size(),B.size());i++){
		ans[i]+=a[i]-b[i];
		if(ans[i]<0)
		ans[i]+=10,ans[i+1]--;
	}
	int t=500;
	while(ans[t]==0)
	t--;
	for(int i=t;i>0;i--)
	printf("%d",ans[i]);
	return 0;
}
2025/2/8 13:26
加载中...