真·C艹灵异事件(cin爆炸)(求助帖)
  • 板块学术版
  • 楼主DeusExMachina
  • 当前回复12
  • 已保存回复12
  • 发布时间2021/1/30 16:07
  • 上次更新2023/11/5 04:08:33
查看原帖
真·C艹灵异事件(cin爆炸)(求助帖)
361833
DeusExMachina楼主2021/1/30 16:07

震惊!cin竟然不能用了!

我们校内OJ有个奇怪的特点:把样例输入和样例输出作为一组样例来评测。有的时候样例输入和样例输出不符合格式,提交正常程序会格式错误,此时我就需要特判。

这次的一道题,就是个很好的例子。如图。

它也是洛谷的P2280。【一本通提高篇RMQ】奶牛排队。显而易见当时的样例输入和样例输出每行之间多出来一个换行。

而这万恶的样例数据使得标程提交上去是格式错误90pts,于是我加了特判,还是格式错误90pts。原来还有一个合乎规范的一模一样的数据!

我敏锐地发现了一个要素:不合规范的样例输入每两行之间有空行,于是我用getchar()来get两次,判断第二次get的是不是换行符,即char(10),如果不是换行符就不是这组数据,否则是。

结果交上去“段错误,数组越界,指针异常”,90pts,那组合乎规范的数据错了。经过调试(即注释“cout<<"awa";”)发现,cin炸了,如图

只输出了1个cin,证明memset没炸,后面的没执行,当然是cin炸了!

使用的IDE是CP Editor,但是代码在Dev-C艹上也不能正常工作。前天跑了一次,不行,昨天又一次,还不行。

代码在一楼,求调求指正!谢谢大家!

2021/1/30 16:07
加载中...