“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是理所应当的。死循环的话,就看看循环结束的条件是不是正确。 



如果有了新发现还会继续发表。

[转]POJ WA/RE指南的更多相关文章

  1. oj判题WA/RE怎么办

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

  2. POJ #1042 Gone Fishing - WA by a DP solution. TODO

    I used DP instead of Greedy. But got WA on PoJ, though it passed all web-searched cases. Maybe I hav ...

  3. POJ 1860 Currency Exchange 毫无优化的bellman_ford跑了16Ms,spfa老是WA。。

    题目链接: http://poj.org/problem?id=1860 找正环,找最长路,水题,WA了两天了.. #include <stdio.h> #include <stri ...

  4. 北大POJ题库使用指南

    原文地址:北大POJ题库使用指南 北大ACM题分类主流算法: 1.搜索 //回溯 2.DP(动态规划)//记忆化搜索 3.贪心 4.图论 //最短路径.最小生成树.网络流 5.数论 //组合数学(排列 ...

  5. poj 1961 Period(KMP训练指南例题)

    Period Time Limit: 3000MS   Memory Limit: 30000K Total Submissions: 11356   Accepted: 5279 Descripti ...

  6. poj 1872 A Dicey Problem WA的代码,望各位指教!!!

    A Dicey Problem Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 832   Accepted: 278 Des ...

  7. POJ 3368 Frequent values RMQ 训练指南 好题

    #include<cstdio> #include<cstring> ; const int inf=0x3f3f3f3f; inline int max(int x,int ...

  8. POJ 1654 Area 多边形面积 G++会WA

    #include<stdio.h> #include<algorithm> #include <cstring> using namespace std; type ...

  9. POJ 3370. Halloween treats 抽屉原理 / 鸽巢原理

    Halloween treats Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7644   Accepted: 2798 ...

随机推荐

  1. openstack swift memcached

    如果生成的token总变,说明没有启动memcached: swift@vincent-virtual-machine /usr/bin $ memcached -p 11211 -m 64m -d ...

  2. Windows下SVN服务器及客户端的使用

    原文地址:windows下配置VisualSVN Server服务器 作者:Deem_passion 下载安装文件: 服务端安装文件:VisualSVN-Server-1.6.2 客户端安装文件:To ...

  3. Meteor ToDo App实例

    在本章中,我们将创建一个简单的待办事项应用程序. 第1步 - 创建应用程序 打开命令提示符,运行以下命令 - C:\Users\Administrator\Desktop>meteor crea ...

  4. 【nginx】【转】Nginx启动框架处理流程

    Nginx启动过程流程图: ngx_cycle_t结构体: Nginx的启动初始化在src/core/nginx.c的main函数中完成,当然main函数是整个Nginx的入口,除了完成启动初始化任务 ...

  5. MySQL学习系列之触发器

    触发器简介 触发器作用: 监控某种事件并触发某种动作 触发语法: CREATE TRIGGER trigger_name trigger_event ON tbl_name FOR EACH ROW ...

  6. Android开发艺术-第二章 IPC 机制

    2.1 Android IPC 简单介绍 IPC 意为进程间通信或者跨进程通信,线程是 CPU 调度的最小单元,是一种有限的系统资源. 进程一般指一个执行单元.不论什么操作系统都须要对应的 IPC 机 ...

  7. 微信小程序实战之 pay(支付页面)

    项目目录: 逻辑层: pay.js // pages/pay/pay.js Page({ /** * 页面的初始数据 */ data: { resultType: "", resu ...

  8. IEnumerator<TItem>和IEnumerator Java 抽象类和普通类、接口的区别——看完你就顿悟了

    IEnumerable 其原型至少可以说有15年历史,或者更长,它是通过 IEnumerator 来定义的,而后者中使用装箱的 object 方式来定义,也就是弱类型的.弱类型不但会有性能问题,最主要 ...

  9. C语言 字符串操作 笔记

    /* C语言字符串的操作笔记 使用代码和注释结合方式记录 */ # include <stdio.h> # include <string.h> int main(void) ...

  10. java的自动类型转换

    package BaseType; /*java的自动类型提升和窄化转换 * * 1. 当一个char,short,byte类型的变量被赋值给一个超出他自身能表示的最大范围的数,java会自动将该数转 ...