第一个测试点WA求调
查看原帖
第一个测试点WA求调
1417554
Backspaces楼主2024/10/5 20:02
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    string a,b;
    cin>>a>>b;
    reverse(a.begin(),a.end());
    reverse(b.begin(),b.end());

    int max=a.size()+b.size(),min=b.size();
    
    
    int c[min][max];
    for(int i=0;i<min;i++){
		for(int j=0;j<max;j++){
			c[i][j]=0;
		}
	}
    
    int o=0;
	for(int p=0;p<min;p++){
    for(int i=0;i<a.size();i++){
    int n=(a[i]-'0')*(b[p]-'0')+c[p][i+o];
        c[p][o+i]=n%10;
        int j=o+i;
    while(n>=10){
		n=n/10+c[p][j+1];
		c[p][j+1]=n%10;
		n/=10;
		j++;
	}
    }
    o++;
    }
    
    int sum[max];
    for(int &i:sum){
		i=0;
	}
    for(int j=0;j<max;j++){
		for(int i=0;i<min;i++){
			sum[j]+=c[i][j];
		}
		if(j<max-1){
			sum[j+1]=sum[j+1]+sum[j]/10;
		}
		sum[j]=sum[j]%10;
	}
	reverse(sum,sum+max);
	int w=0;
	while(sum[w]==0){
		w++;
	}
    if(w==max)cout<<0;
    while(w<max){
		cout<<sum[w];
		w++;
	}
}
2024/10/5 20:02
加载中...