90求助!!!
查看原帖
90求助!!!
308413
ddgtang楼主2020/7/21 09:19
#include<bits/stdc++.h>
using namespace std;
int a[10^10086+5],b[10^10086+5];
string hj,jh;
void solvea(string A){
	a[0]=A.size();
	for (int i=1;i<=a[0];i++)
		a[i]=A[a[0]-i]-'0';
}

void solveb(string B){
	b[0]=B.size();
	for (int i=1;i<=b[0];i++)
		b[i]=B[b[0]-i]-'0';
}

int ab(string A,string B){
	if (a[0]>b[0]) return 1;
	if (a[0]<b[0]) return -1;
	for (int i=a[0];i>=1;i--){
		if (a[i]>b[i]) return 1;
		if (a[i]<b[i]) return -1;
	}
	return 0;
}

void minni(string A,string B){
	if (ab(hj,jh)==0) {
		cout<<0;
		return;
	}
	if (ab(hj,jh)==1){
		for (int i=1;i<=b[0];i++){
			if (a[i]-b[i]<0) {
				a[i]+=10;
				a[i+1]--; 
			}
			a[i]=a[i]-b[i];
		}
		while(a[a[0]]==0) a[0]--;
		for (int i=a[0];i>=1;i--)
			cout<<a[i];
		return;
	}
	if (ab(hj,jh)==-1){
		cout<<'-';
		for (int i=1;i<=a[0];i++){
			if (b[i]-a[i]<0) {
				b[i]+=10;
				b[i+1]--; 
			}
			b[i]=b[i]-a[i];
		}
		while(b[b[0]]==0) b[0]--;
		for (int i=b[0];i>=1;i--)
			cout<<b[i];
		return;
	}
}
int main(){
	string A,B;
	cin>>A>>B;
	solvea(A);
	solveb(B);
	minni(A,B);
	return 0;
}

77 WA

紧急求助

2020/7/21 09:19
加载中...