蒟蒻求助
查看原帖
蒟蒻求助
341245
Sunflower_ac楼主2020/12/21 16:21

写WA两个点,麻烦帮忙看下哪错了?

#include<iostream>
#include<cstring>
using namespace std;
int ans[20005];
struct p
{
    int x,y;
}a[20005],b[20005];
int main()
{
    string s,c;
    cin>>s>>c;
    int n=0,m=0;
    for(int i=0;i<s.size();i++)a[++n].x=s[i]-'0';
    for(int i=0;i<c.size();i++)b[++m].x=c[i]-'0';
    for(int i=1;i<=n;i++)a[i].y=a[n-i+1].x;
    for(int i=1;i<=m;i++)b[i].y=b[n-i+1].x;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            ans[i+j-1]+=a[i].y*b[j].y;
            if(ans[i+j-1]>=10)
            {
                ans[i+j]+=ans[i+j-1]/10;
                ans[i+j-1]%=10;
            }
        }
    }
    int k=m+n;
    bool f=false;
    for(int i=k;i>=1;i--)
    {
        if(ans[i]==0&&f==false) continue;
        if(f==false) f=true;
        cout<<ans[i];
    }
    if(f==false) cout<<0;
    return 0;
}
2020/12/21 16:21
加载中...