为什么开了o2就wa,不开很好
查看原帖
为什么开了o2就wa,不开很好
365985
MY_KINGDOM楼主2024/8/8 20:59
#include<iostream>
#include<cstring>
using namespace std;
#define N 10000
char a[N],b[N];
int a1[N],b1[N];
int c[2*N];
void check(int x){
	if(c[x]>=10){
		c[x+1]+=c[x]/10;
		c[x]=c[x]%10;
		check(x+1);
	}
	return;
}
int main(){
	//freopen("P1601_1.in","r",stdin);
	//freopen("1.out","w",stdout);
	memset(c,0,2*N);
	memset(a,0,N);
	memset(b,0,N);
	cin>>a;cin>>b;
	int alen,blen;
	alen=strlen(a)-1;
	blen=strlen(b)-1;
	for(int i=0;i<=alen;i++)a1[i]=a[alen-i]-'0';
	for(int i=0;i<=blen;i++)b1[i]=b[blen-i]-'0';
	int len=alen>blen?alen:blen;
	for(int i=0;i<=len;i++){
		c[i]+=(a1[i]+b1[i])%10;
		c[i+1]+=(a1[i]+b1[i])/10;
		check(i);check(i+1);
	}
	bool flag=0;
	int l;
	for(int i=2*N;i>=0;i--){
		if(flag)break;
		if(c[i]!=0){
			flag=1;
			l=i;
			break;
		}
	}
	for(int i=l;i>=0;i--)cout<<c[i];
	//fclose(stdin);fclose(stdout);
    return 0;
}
2024/8/8 20:59
加载中...