比赛场次 59
比赛名称 20100421
比赛状态 已结束比赛成绩
开始时间 2010-04-21 08:15:00
结束时间 2010-04-21 11:30:00
开放分组 全部用户
注释介绍
题目名称 王伯买鱼
输入输出 fish.in/out
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试点数 8 简单对比
用户 结果 时间 内存 得分
GravatarAchilles AAATTTTT 0.000 s 0.00 MiB 37
Gravatarreamb WAATTTTT 0.000 s 0.00 MiB 25
Gravatarybh AWWTTTTT 0.000 s 0.00 MiB 12
GravatarReimBurSe. AWWTTTTT 0.000 s 0.00 MiB 12
Gravatar苏轼 AWWWWWWW 0.000 s 0.00 MiB 12
Gravatar.Xmz AWWEEEEE 0.000 s 0.00 MiB 12

王伯买鱼

★☆   输入文件:fish.in   输出文件:fish.out   简单对比
时间限制:1 s   内存限制:128 MiB
【问题描述】

王伯退休后开始养鱼。他一早起来就赶去动物公园,发现这个世界的鱼真不少,五光十色、色彩斑斓,大的、小的,什么都有。这些鱼实在是太美了,买的人越来越多,湖里的鱼越来越少。没有美丽的鱼,哪里有美丽的湖?于是动物公园不得不规定,对于每种鱼,每个人最多只能买一条。并且有些鱼是不能一起买的,因为它们之间会互相争斗吞食。

王伯想买尽可能多的鱼,但很可惜,他的资金有限。他冥思苦想,不知如何是好。请编写一个程序帮助他。如果有多个方案都能买尽可能多的鱼,选择所花资金最多的一个。
 
【输入】
从输入文件读入数据。输入文件的第一行为两个正整数M(M≤1000),N(N≤30),分别表示王伯的资金和鱼的种类。以下N行,每行有两个正整数S(1≤S≤N),T,分别表示某种鱼的编号以及该鱼的价格。
接着,每行有两个整数P,Q。当P,Q均大于0时,表示P,Q不能共处;当P,Q均等于0时,表示输入文件的结束。
 
【输出】
输出文件的第一行为两个正整数X,y,分别表示所买鱼的条数和总花费。以下X行,每行有一个正整数,表示所买鱼的编号。编号按升序排列输出。
如果题目有多个解,只需输出其中的一个。
 
【输入输出样例】
样例输入(fish.in):
170 7
 1 70
 2 50
 3 30
 4 40
 5 40
 6 30
 7 20
 1 4
 1 7
 3 4
 3 5
 5 7
 6 7
 0 0
样例输出(fish.out):
4 160
2
4
5
6