1042 Gone Fishing(枚举+贪心)

来源:互联网 发布:99宿舍客服系统 mac 编辑:程序博客网 时间:2024/05/16 08:29

思路:枚举湖的个数,然后贪心选择鱼最多的湖。

在枚举湖的个数时,先把湖之间“奔走”的时间单独算出来,用总的时间减去“奔走”的时间,就是纯粹钓鱼的时间。然后再算出总的钓鱼的次数,对每次钓鱼选择鱼最多的那个湖钓,这样算出来的就是钓的最多的鱼的方案。

注意一些细节:

1、题中要求的是当湖中鱼的个数相等时,就在湖的编号小的湖中钓。

2、当全部的湖中,鱼都钓完了,就在第一个湖中钓。

下面是源代码:

 

说说我做这个题时的困惑:首先思路我是明白的,但是细节我没有设计好,在找鱼最多的湖时,我用了库函数的排序函数,对以湖中鱼的个数对湖进行排序,但是这个函数是个稳定的排序,当两个湖中鱼的数量相等时,湖的编号小的排不到前面,导致WA了很久。后来就放弃了这种做法,直接找最大值,这样用这种方法的特性,反而避免了这种问题,很快就对了,看了不能总是省懒劲儿啊,关键是思路要正确!