C语言王伯买鱼
【问题描述】
王伯退休后开始养鱼。他一早起来就赶去动物公园,发现这个世界的鱼真不少,五光十色、色彩斑斓,大的、小的,什么样的都有。这些鱼实在太美了,买的人越来越多,湖里的鱼越来越少。没有美丽的鱼,哪里有美丽的湖?于是动物公园不得不规定,对于每种鱼,每个人最多只能买一条。并且有些鱼是不能一起买的,因为放在一起他们相互争斗吞食。
王伯想买尽可能多的鱼,但很可惜,他的资金有限。他冥思苦想,不知如何是好。请编程帮他,如果有多个方案能买尽可能多的鱼,选择所花资金最多的一种方案。
具体要求:
【输入】
第一行:资金m(<=1000)和鱼的种类n(<=30)。以下n行,每行有两个正整数,鱼的编号s(1<=s<=n)和该鱼的价格t。接着又有若干行,每行两个整数p和q,当p和q都大于0时,表示p和q不能共处;当p和q均等于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
源码
https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
标签:30,样例,50,C语言,王伯买,170 From: https://www.cnblogs.com/codewriter/p/17073913.html