求助大佬!救救孩子吧qwq

P1303 A*B Problem

CandyCandyFruit @ 2019-11-03 15:33:47

不知道哪里错了,嘤嘤嘤qwq,四个WA一个RE:

#include<bits/stdc++.h>
using namespace std;
int zz;
struct hp{
    int len;
    int s[1050];
};
void init(string qwq,hp &a)
{
    a.len=qwq.size();
    for(int i=a.len;i>=1;i--)
    a.s[i]=qwq[a.len-i]-'0';
}
void AC(hp &a,hp &b,hp &d)
{
    int eee=0;
    if(a.len>b.len)
    {
        for(int j=1;j<=b.len;j++)
        {
            for(int k=1;k<=a.len;k++)
            { 
                d.s[k+eee]=d.s[k+eee]+a.s[k]*b.s[j];
                if(d.s[k]>=10)
                {
                    d.s[k+1]=d.s[k]/10;
                    d.s[k]=d.s[k]%10;
                }
                d.len=a.len;
                if(j==b.len&&k==a.len&&d.s[k+1]>=1) zz=1;
            } 
            eee++;
        }
    }
    else
    {
        for(int j=1;j<=a.len;j++)
        {
            for(int k=1;k<=b.len;k++)
            { 
                d.s[k+eee]=d.s[k+eee]+b.s[k]*a.s[j];
                if(d.s[k]>=10)
                {
                    d.s[k+1]=d.s[k]/10;
                    d.s[k]=d.s[k]%10;
                }
                d.len=b.len;
                if(j==a.len&&k==b.len&&d.s[k+1]>=1) zz=1;
            } 
            eee++;
        }
    }
}
int main()
{
    string qwqv;
    string qvqw; 
    hp aa,bb,dd;
    while(cin>>qwqv>>qvqw)
    {
        zz=0;
        memset(aa.s,0,sizeof(aa.s));
        memset(bb.s,0,sizeof(bb.s));
        memset(dd.s,0,sizeof(dd.s));
        init(qwqv,aa);
        init(qvqw,bb);
        AC(aa,bb,dd);
        if(zz==1) dd.len++;
        for(int i=dd.len;i>=1;i--)
        printf("%d",dd.s[i]);
        printf("\n");
    }
    return 0;
}

by _Cloud_ @ 2019-11-05 21:21:48

qwq...


|