• [转]POJ WA/RE指南


    “POJ上头的题都是数学题”,也不知道是那个家伙胡诌的……但是POJ的要求就是算法通过了也不让你AC。下面本人就这560题的经验,浅谈一下WA/RE了怎么办。 

    以下内容是扯淡…… 

    一、WA/RE了之后不要感到不爽……实际上,有让你WA的机会是很幸福的,如果在NOIP上我能交题以前有人告诉我“Wrong Answer”……所以说你得感谢ACM给你改正的机会。 

    二、WA/RE了之后不要过于自信。实际上“第一次交WA,再交一次就AC”的说法几乎是胡说八道。WA了一定是你的程序写错了。 

    三、如果你3小时内还没改对,休息一会,明天再来吧。 

    好,现在我们步入正题。首先就WA的修改方法做下介绍。当然了,样例数据得先过。 

    WA篇: 

    一、看看人家的输入数据。是不是把boy的数据安到girl上了,n的值赋给m了……特别是样例中这一对数据还是相等的时候……我都不知道有几次干这样的傻事了。 

    二、还是输入数据。如果一个测试点里有多组数据,有没有可能比方说sum = 0的时候结果一定为0,而无论后面的数据是什么?这样的话你可能会一个continue转到下一组数据。可是数据流才不会continue,后面没读完的数据理所当然的冲到了最前方,你的程序就这样WA了…… 

    三、初始化。你的初始化正确么?边界条件是0,1,还是kn? 

    四、循环变量。for的循环变量如果是k,就看看后边用的是不是i。 

    五、你的智商够不够高,是否考虑到所有的问题了?你可以想办法搞一份AC了的代码,里面写什么连看都不看,之后编写一个“测试数据制造机”,数大,数据多,情况就复杂,就可能出现你没想到的状况,拿两个程序对一下答案就知道了。 

    六、一定要看discuss,那里面都是几年来前辈们的错误总结。说不定还有又简单又厉害的数据供你使用。 

    RE篇: 

    一、数组是不是开小了?实在不行在Memory Limit允许的前提下开到数据范围的10倍以上。 

    二、除0错误。有多少高人在这个地方摔跤,甚至一蹶不振!全面检查一下 / 和 % 运算符的右边有没有可能等于 0。 

    三、数组起始位置。数组最好从 0 开始使用。如果定义a[MAX],就千万不要使用a[MAX]这个值。事实上,这样一般都引发WA。 

    四、死循环的话一般不报TLE,特别是循环中有数组操作的情况。因为这种情况下通常会出现a[-6569]一类的囧物……RE是理所应当的。死循环的话,就看看循环结束的条件是不是正确。 

    如果有了新发现还会继续发表。 
  • 相关阅读:
    C++中虚函数
    ES6入门四:对象字面量扩展与字符串模板字面量
    ES6入门三:解构
    ES6入门二:默认值与默认值表达式
    ES6入门一:块级作用域(let&const)、spread展开、rest收集
    JavaScript严格模式
    JavaScript中with不推荐使用,为什么总是出现在面试题中?
    ES6入门一:ES6简介及Babel转码器
    HTML5之websocket
    HTML5之fileReader异步读取文件及文件切片读取
  • 原文地址:https://www.cnblogs.com/shengrang/p/3843483.html
Copyright © 2020-2023  润新知