回 帖 发 新 帖 刷新版面

主题:求解《王伯买鱼》

王伯退休后开始养鱼。他一早起来就赶去动物园,发现这个世界的鱼真不少,五光十色、色彩斑斓,大的、小的,什么样的都有。这些鱼实在是太美了,买的人越来越来多, 湖里的鱼越来越少。没有美丽的鱼,那里有美丽的湖?于是动物园不得不规定对于每种鱼,每个人最多只能买一条,并且有些鱼是不能一起买的,因为放在一起他们相互争斗吞食。
王伯想买尽可能多的鱼,但很可惜,它的资金有限,他冥思苦想,不知如何是好。请编程帮他,如果有多个方案能买尽可能多的鱼,选择所花资金最多的一种方案。
[输入]
  第一行:资金m(<=1000)和鱼的种类n(<=30)。以下n行,每行有两个正整数,鱼的编号s(1<=s<=n)和鱼的价格t。接着又有若干行,每行两个整数p,q,当pq都大于0时,表示pq不能共处,当pq均等于0时,表示输入结束。
[输出]
  第一行两个整数,x y,x表示买得鱼的条数,y表示总的花费,以下x行,每行有一个整数,表示所买鱼的编号,编号按升序排列输出。
[样例输入]
170 7
1 70
2 50
3 30
4 40
5 40
6 30
7 50
1 4
1 7
3 4
3 5
5 7
6 3
0 0
[样例输出]
4 170
2
4
6
7

回复列表 (共9个回复)

沙发

贪心

板凳

有同感!

3 楼

用贪心出来不是最优的
最好是动归

4 楼


此题用搜索做...
我保证,但是要减枝,不过很弱的说..

5 楼


[em1]回朔

6 楼

枚举

7 楼

有没有一维数组之类的?
[em18]

8 楼

谁给个答案阿#107 光说用啥 #109 纸上谈兵有啥用啊

9 楼

[quote]有没有一维数组之类的?
[em18][/quote]
有同感!!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册