前言
终于基本上更新完了所有的题解和总结,希望顺利,目标满分。如果没满分,这就是失败经验贴,有幸满分的话,希望能对后来者有点帮助。
通用规则
- 对于字段比较少的,我倾向于使用数组,这样比较简洁,比如学生如果只有id和成绩这两个字段,会分别用id[]和grade[]表示,而不是写一个student结构体。
- 题目给的编号如果从1开始,为了方便,大部分情况下我倾向于将其映射为从0开始,这样书写一些常用的数据结构,比如并查集之类的,不会出错。
- 尽量少使用全局变量,如果不得不使用全局变量,记得注意全局变量的初始化和重新赋值(如果需要多次使用的话)。
读题
- 注意题给的数据量的范围,每一个字段的数据范围,选择合适的数据结构。
- 注意题目给的数据是否都是合法的,如有非法的要过滤或者根据题目要求处理,一般题目会有说明。
- 避免想当然,题目可能说某个数据是整数或者小于2位精度的浮点数,但是在输入样例里它都是整数,或者题目没有说某字段的数据是连续编号,但是在样例里是连续编号。
- 注意“正负”数据,题目可能分别用正负号表示两类数据,这时候要注意**+0,-0**是否存在并代表不同的含义,是则不能当做实型获取输入,否则无法区分+0和-0。
I/O
- 使用fges()之类的读取字符串的函数之前&