之前有个满分代码,但是现在在测一次就成80分,不知道怎么回事

P1303 A*B Problem

CompJIN @ 2021-04-22 21:18:21

原代码提交时间03-17

#include<bits/stdc++.h>
using namespace std;
char s1[2021],s2[2021];
int a[2021],b[2021],c[2021];
int main(){
    cin>>s1>>s2;
    int lena=strlen(s1);
    int lenb=strlen(s2);
    for(int i=lena-1;i>=0;i--) 
        a[lena-i]=s1[i]-48;     
    for(int i=lenb-1;i>=0;i--)
        b[lenb-i]=s2[i]-48;      
    for(int i=1;i<=lena;i++) {
        for(int j=1;j<=lenb;j++){
            c[i+j-1]+=a[i]*b[j];        
        }
    }

    int len=lena+lenb;
    for(int i=1;i<=len;i++){
        c[i+1]+=c[i]/10;
        c[i]%=10;
    } 

    while(c[len]==0&&len!=0)
    len--;
    if(len==0){
        cout<<0;
        return 0;
    }   
    for(int i=len;i>=1;i--)
    cout<<c[i];
    return 0;
}

当时是满分,但是现在再交就只剩下80分了
是不是数据点改了啊


by CompJIN @ 2021-04-22 21:32:57

题目是P1303 A*B problem


by qqqqq111 @ 2021-04-22 21:39:21

但我用我以前的代码就没事诶 https://www.luogu.com.cn/record/49841484


by qqqqq111 @ 2021-04-22 21:44:56

你数组开小了,我把c的大小改一下就对了 @CompJIN_WLAN


by CompJIN @ 2021-04-22 21:47:59

@qqqqq111 谢谢


|