第五个点WA了
查看原帖
第五个点WA了
545507
pl_cosmonaut楼主2021/11/28 22:11

code

#include<bits/stdc++.h>
using namespace std;
int ad[2002],ans[2009],A[2001],B[2001];
char a[2001],b[2001];
int main(){
	cin>>a>>b;
	for(int i=0;i<=strlen(a)-1;i++)A[strlen(a)-i]=a[i]-'0';
	for(int i=0;i<=strlen(b)-1;i++)B[strlen(b)-i]=b[i]-'0';
	if(A[strlen(a)]==0||B[strlen(b)]==0){
		cout<<0;
		return 0;
	}
	for(int i=1;i<=strlen(b);i++){
		int zero=i-1;
		for(int j=1;j<=strlen(a);j++){
			ad[j+zero]+=B[i]*A[j];
			if(ad[j+zero]>=10){
				ad[j+zero+1]+=ad[j+zero]/10;
				ad[j+zero]%=10;
			}
		}
		for(int i=1;i<=strlen(a)+strlen(b);i++){
			ans[i]+=ad[i];
			ad[i]=0;
		}
	}
	for(int i=1;i<=strlen(a)+strlen(b);i++){
		ans[i+1]+=ans[i]/10;
		ans[i]%=10;
	}
	int flag=1;
	for(int i=strlen(a)+strlen(b);i>=1;i--){
		if(ans[i]!=0)flag=0;
		if(flag==0)cout<<ans[i];
	}
	return 0;
}

2021/11/28 22:11
加载中...