题目链接: 高考排名
审题发现,如果使用直接搜索肯定会超时,循环次数太多,所以不考虑。确定使用 lower_bound
+ 结构体来完成题目。具体思路也没问题,但是第一遍( cin
读入数据)做的时候死活过不了。。。 然后想了想,应该是数据太大吧,使用 scanf
来读入,又发现 string
必须改为 char
数组才能被读入,有重写了比较函数。整了很久才整完~呼
结果第二天,候代轩同学意外的将考好使用 int
来存储,然后就ac了,当时整个人都傻掉了,题目没有要求输出考号信息呀,前置零丢了就丢呗!(重点是审题)
后几天,想了想,还是应该用 string
来存储考号,确保信息完整,但是对于这道题目,使用 int
也可以了,所以,最后将两种做法都公布出来。。
第一种 int
考号
1 |
|
第二种 stirng
考号
1 |
|
总结,这种题目一般来讲不难,重点是抓住题目核心,能够灵活的使用 lower_bound
,尤其是特判 if(ans<n+1&&a[ans].kh==f.kh)
!!!