讨论 / 帮忙看看为什么wa了。。。
wforscheckd 2011-07-31 18:05:00
点我顶贴 收藏 删除
帮忙看看http://www.rqnoj.cn/Status_Show.asp?SID=562973为什么wa了。。。。

代码:

#include<cstdio>

#include<string>

#include<cstdlib>

#include<iostream>

typedef unsigned long ty;

unsigned long long res[10040]={},a1[5000]={},a2[5000]={};

inline void getst(std::string &s)

{

std::cin>>s;

s=std::string(s.rbegin(),s.rend());

}

int main()

{

freopen("0377.in","r",stdin);

freopen("0377.out","w",stdout);

ty n,e(0);

std::cin>>n;

char ch[10]={};

std::string str;

getst(str);

for(ty i(0),j;i!=n;++e)

{

for(j=0;j!=9&&i!=n;++i,++j)

ch[j]=str[i];

ch[j]=0;

char ls;

for(ty ii(0),fff((j>>1));ii!=fff;++ii)

{

ls=ch[ii];

ch[ii]=ch[j-ii-1];

ch[j-ii-1]=ls;

}

a1[e]=atol(ch);

}

getst(str);

e=0;

for(ty i(0),j;i!=n;++e)

{

for(j=0;j!=9&&i!=n;++i,++j)

ch[j]=str[i];

ch[j]=0;

char ls;

for(ty ii(0),fff((j>>1));ii!=fff;++ii)

{

ls=ch[ii];

ch[ii]=ch[j-ii-1];

ch[j-ii-1]=ls;

}

a2[e]=atol(ch);

}

for(ty i(0);i!=e;++i)

for(ty j(0);j!=e;++j)

res[i+j]+=a1[i]*a2[j];

for(ty i(0),ee((e<<1)+1);i!=ee;++i)//骗分导论曰:放在外面快。。。

if(999999999<res[i])

{

res[i+1]+=res[i]/1000000000;

res[i]%=1000000000;

}

ty ee(e<<1);

for(;ee&&!res[ee];--ee);

if(ee==0)

{

fprintf(stdout,"%I64u\n",res[0]);

return 0;

}

fprintf(stdout,"%I64u",res[ee]);

for(--ee;ee;--ee)

fprintf(stdout,"%09I64u",res[ee]);

fprintf(stdout,"%09I64u\n",res[0]);

return 0;

}

查看更多回复
提交回复