样例过了,提交后60分,help
查看原帖
样例过了,提交后60分,help
735164
pengqiushi楼主2023/8/3 22:30

代码如下:

#include<iostream>
#include<cstring>
using namespace std;
int a[10091],b[10091];
char sa[10091],sb[10091];
int sum[10091];
int la,lb;
int bj_dx(){
	if(la>lb)
		return 1;
	if(la<lb)
		return -1;
	for(int i=la; i>=1; i--){
		if(a[i]>b[i])
			return 1;
		if(a[i]<b[i])
			return -1;
	}
	return 0;
}
int main()
{
	scanf("%s%s",sa,sb);
	la=strlen(sa);
	lb=strlen(sb);
	for(int i=1; i<=la; i++)
		a[i]=sa[la-i]-48;
	for(int i=1; i<=lb; i++)
		b[i]=sb[lb-i]-48;
	if(bj_dx()==0){
		cout<<"0";
		return 0;
	}
	if(bj_dx()==-1){
		cout<<"-";
		swap(a,b);
	}
	for(int i=1; i<=la; i++){
		if(a[i]<b[i]){
			a[i]+=10;
			a[i+1]--;
		}
		sum[i]=a[i]-b[i];
	}
	if(!a[la])
		la--;
	for(int i=la; i>=1; i--)
		cout<<sum[i];
	return 0;
}

评测记录

我下载了样例3,发现果然不对:

输入:

88460914424991
4291703115049359

输出:

-4203242200624368

我的输出:

-03242200624368

但是我自己编了几组简单的样例,都过了,这是为什么呢?求助!!!

2023/8/3 22:30
加载中...