P1303建议数据加强
  • 板块工单反馈版
  • 楼主AkxxZhang
  • 当前回复1
  • 已保存回复1
  • 发布时间2018/6/14 19:55
  • 上次更新2024/7/6 14:14:19
查看原帖
P1303建议数据加强
57133
AkxxZhang楼主2018/6/14 19:55

我的程序有致命bug(在别的oj上评测发现的),但在洛谷上能ac

希望管理员大佬们能修改一下

蒟蒻不胜感激

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
int a[2001]={0},b[2001]={0};
int ans[4000005]={0};
string a1,b1;
int an,bn;
void Bignum(){
    for(int i=an-1;i>=0;i--){
        for(int j=bn-1;j>=0;j--){
            ans[(an-1)-i+(bn-1)-j]+=a[i]*b[j];
        }
    }
}
void check(){
    for(int i=0;i<4000001;i++){
        if(ans[i]>=10){
            ans[i+1]+=ans[i]/10;
            ans[i]%=10;
        }
    }
}
int main(){
    cin>>a1>>b1;
    an=a1.size();
    bn=b1.size();
    for(int i=0;i<an;i++){
        a[i]=a1[i]-'0';
    }
    for(int i=0;i<an;i++){//此处循环an应为bn,但洛谷能过
        b[i]=b1[i]-'0';
    }
    Bignum();	
    check();
    int flag=0;
    for(int i=4000001;i>=0;i--){
        if(ans[i]!=0){
            flag=i;
            break;
        }
    }
    for(int i=flag;i>=0;i--){
        cout<<ans[i];
    }
    cout<<endl;
    return 0;
}

@kkksc03 @lin_toto

2018/6/14 19:55
加载中...