1. getline的调用方法,例如 getline(cin, str);
2. 浮点数的比较,由于存在表示精度的问题,需要与极小数(例如1e-8)比较,例如
const double eps = 1e-8; //误差
#define Equ(a,b) (fabs((a)-(b))
3. 对于一般的OJ(online judge)系统,一秒能承受的运算是10^7~10^8,因此对于时间复杂度为O(n^2)的算法,n的规模为1000时是允许的,规模为100000时是不允许的。
4. 解决visual studio 提示scanf等非安全函数警告的解决办法之一,是添加warning中提示的预定义:(资源管理器)工程 -> (右键)属性 -> c/c++ -> 预处理器 -> 预处理器定义(在末尾加入提示的宏定义)。
5. 解决visual studio中运行时 LINK : fatal error LNK1168的问题 :该问题是由于未关闭命令行窗口,或者窗口关闭但进程未结束而引起的。窗口未关闭时,则关闭窗口后再运行即可;但窗口关闭而进程残留时,则在命令行中结束该工程对应的进程,例如win10中运行powershell,输入命令 ps 查看指定的进程ID,如VS的test工程对应的ProcessName即为test,找到对应的ID如9876,运行 kill 9876 结束该进程)
6. online judge中,输出的格式必须和题目要求一模一样,不能多逗号、间隔符等未指明的的符号
7. scanf 中的格式化字符串需注意和输入格式一致,如相邻输入数据之间是否需要逗号
8. OJ中,需要自己明确题目是多点测试还是单点测试、输出是否需要附带换行符(题目未明确说明时,若其他均无错,则两种都尝试一下)
9. scanf 函数返回EOF(即-1)时,说明输入结束
10. 对于OJ中涉及取半的操作,需要明确是向下取整还是向上取整
11. OJ中的单点测试可用多点测试代码(判断输入文件是否结束)来代替