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 谢谢