警示后人
查看原帖
警示后人
571265
Infinity_Fantasy楼主2023/8/18 15:39

时隔半个月又来看着题,当时第4个点wa掉了,就想一道高精加的小模板我怎么挂了。今天把他又拿出来,终于是发现了问题 当时我判断前导零+输出的方式是

int k=500;
while(ans[k]==0) k--;
for(;k>=1;k--) cout<<ans[k];

结果第四个点wa了 后来我改成了

for(;k;k--) cout<<ans[k];

输出,发现wa变RE了,所以肯定是这里数组越界,祭掉了。我一下就懂了,如果最终答案是0的话k--会干到负数。

题目中说明数据没有负数,那么这组数据肯定是0+0,下载下来发现推论是正确的,不禁为此数据妙~了一声 对此我的处理前导零和输出的方法是

int k=500;
while(ans[k]==0) k--;
for(;k>1;k--) cout<<ans[k];
cout<<ans[1];

希望对你有帮助

2023/8/18 15:39
加载中...