pat a1117

很简单的题目,但是题面比较难懂,如果用hash表的话需要开到比较大的地方,一天100000mile的样子

这样只有第一个case能过,难点在于这一句话

 E -- that is, the maximum integer E such that it is for E days that one rides more than E miles. Eddington's own E was 87.

e是一个爱丁顿数,如果某人e天跑了超过e公里,这之中最大的那个e;也就是说9天跑了8.5公里,算为8天超过8公里,答案为8;

也可能会被认为,超过8公里的天数正好是8天,这之中最大的那个公里数8;这个最大是描述什么东西的?

又比如2016年408考试的数据机构的算法题,也是定语使用的有一些理解上的问题。

当然也可能是我英语水平有问题。

其实pat里面有一些歧义的题目,而且歧义点往往在于给出的样例也同时支持两种说法这个时候就很麻烦,因为纯粹对程序debug 是de不出来这种问题的,对于甲级来说,审题尤其重要。

对于这道题,最合理的做法是排序完之后,比较一下就行了,但如果用hash表,这道题很容易错的底裤都不剩。需要把等于变成大于等于,范围再开大一些;(会段错误)

这道题说明一个问题

1.pat 考试,审题很重要,不要一激动,写了200行,结果不知道输出什么东西。

2.请复制粘贴题目中的格式,你永远不知道他什么时候多个空格什么的。

3.最好严格按照题目的路子模拟,不要一言不合就hash或者看起来比较对实际不和题意的方法。可能会和题目的要求南辕北辙

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值