论9个WA的出现
查看原帖
论9个WA的出现
494976
TingQuACShengYiPian楼主2022/9/10 20:39

没啥好说的,直接上代码吧

#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int a[10100],b[10100],c[10100],neg=0,t;
int main() {
    ios::sync_with_stdio(false);
	cin>>s1>>s2;
	for(int i=0;i<s1.size();i++){
	    a[s1.size()-i]=s1[i]-'0';
	}
	for(int i=0;i<s2.size();i++){
	    b[s2.size()-i]=s1[i]-'0';
	}
	neg=s1.size()<s2.size();
	int i=s1.size(),f=0;
	while(s1.size()==s2.size()&&a[i]==b[i]){
	    i++;
	    if(a[i]<b[i]){
	        neg=1;
	        f=1;
	    }else if(a[i]<b[i]){
	        f=1;
	    }
	}
	if(f==0){
	    cout<<0;
	    return 0;
	}
	if(neg==1){
	    cout<<'-';
	}
	for(int i=1;i<=max(s1.size(),s2.size());i++){
	    c[i]=(a[i]+b[i]+t)%10;
	    t=(a[i]+b[i])/10;
	}
	for(int i=max(s1.size(),s2.size());i>0;i--){
	    cout<<c[i];
	}
	return 0;
}

希望有dalao能讲解一下

2022/9/10 20:39
加载中...