为什么60分WA+RE

P1303 A*B Problem

lilynan @ 2024-05-27 21:47:25


#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

#define FOR(i,a,b) for(int i=a;i<=b;i++)

#define rep(i,n) for(int i=0;i<n;i++)

int c[105],a[55],b[55];

int main(){

    string n,m;
    int ln,lm,lx;
    cin>>n>>m;
    ln=n.size();
    lm=m.size();
    FOR(i,1,ln) a[i]=n[ln-i]-'0';
    FOR(i,1,lm) b[i]=m[lm-i]-'0';
    FOR(i,1,ln){
        FOR(j,1,lm)
            c[i+j-1]+=a[i]*b[j];
        FOR(j,1,i+lm)
            if(c[j]>=10){
                c[j+1]+=c[j]/10;
                c[j]%=10;
            }
    }
    lx=lm+ln;
    while(c[lx]==0&&lx>1) lx--;
    for(int i=lx;i>=1;i--)
        cout<<c[i];
    return 0;
}
` ` ` ` ` `

by qazsedcrfvgyhnujijn @ 2024-05-27 21:53:06

这题取值范围是 [0..10^{2000}] 啊,怎么敢只开 55
算不来空间建议用 vector 先写一遍,这题计算量不大不会 TLE


by lilynan @ 2024-05-28 17:37:10

谢谢大佬帮助???


|