sodiums @ 2021-04-16 15:36:15
经典全红 测出来好像是这么个意思 麻了个巴子的,这次问题又出在哪里呢
#include <bits/stdc++.h>
using namespace std;
#define u unsigned long long
#define max 800000
int main ()
{
string a,b;
cin>>a>>b;
int aa[max],bb[max];
if (a=="0"&&b=="0"){cout <<0;return 0;}
for (int i=0;i<a.size();i++) aa[i]=a[a.size()-i-1]-48;
for (int i=0;i<b.size();i++) bb[i]=b[b.size()-i-1]-48;
int cc[max],jw[max];
for (int i=0;i<max;i++) {cc[i]=0;jw[i]=0;}
///////初始化
if (1)
{
for (int i=0;i<b.size()+10;i++)
{
for (int j=0;j<a.size()+10;j++)
{//bb[i]*aa[j] jw:
if (bb[i]*aa[j]+jw[i+j]>=10)
{
cc[i+j]+=(bb[i]*aa[j]+jw[i+j])%10;
jw[i+j+1]=(bb[i]*aa[j]+jw[i+j])/10%10;
jw[i+j]=0;
//cout << "NOWi+j:"<<i+j<<endl<<"NOWcc:"<<cc[i+j]<<endl<<"NEXTjw:"<<jw[i+j+1]<<endl;
}
else
{
//cout << "NOWi+j:"<<i+j<<endl<<"NOWcc:"<<cc[i+j]<<endl;
cc[i+j]+=(bb[i]*aa[j]+jw[i+j])%10;
jw[i+j]=0;
}
}
}
//数据存储完毕,但未处理进w
int fjw=0;
for (int i=0;i<a.size()*b.size()+2;i++)
{
if (fjw+cc[i]>=10)
{
int tmp=cc[i];
cc[i]=(tmp+fjw)%10;
fjw=((tmp+fjw)/10)%10;
}
else
{
cc[i]=cc[i]+fjw;
fjw=0;
}
}
}
bool fg=0;
for (int i=max;i>=0;i--)
{
if (fg==0&&cc[i]!=0)
{
fg=1;
cout <<cc[i];
}
else if (fg==1)
{
cout <<cc[i];
}
}
return 0;
}
by sodiums @ 2021-04-16 15:42:10
0积判断&&应该换成|| 多了20分,太棒了
by Cripple_Abyss @ 2021-04-16 15:52:53
btd,jbl
by z03072515 @ 2021-04-16 16:03:50
@Cripple_Abyss 确实可以宣布,但也不一定宣布
by BrotherCall @ 2021-04-16 16:11:34
btd,jbl
by BrotherCall @ 2021-04-16 16:13:13
看到标题我的直觉:
一种可能是楼主当省队队长,高兴疯了。
另一种是被jc了。
结果没想到是第三种。
by sodiums @ 2021-04-16 16:58:41
我从十万开到了千万,他给我过了,我觉得我没过,很失落
by AffineRing @ 2021-04-16 17:41:10
你何必呢……