时隔半个月又来看着题,当时第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];
希望对你有帮助