一道叫home work的ACM题求代码与思路

问题描述:

一道叫home work的ACM题求代码与思路
Problem E:Home Work
Time Limit:1000 Sec Memory Limit:64 MB
Submit:5 Solved:1
[Submit][STATUS][Web Board]
Description
临近开学了,大家都忙着收拾行李准备返校,但I_Love_C却不为此担心!因为他的心思全在暑假作业上:目前为止还未开动(-_-!还以为他有多冷静呢).
暑假作业是很多张试卷,我们这些从试卷里爬出来的人都知道,卷子上的题目有选择题、填空题、简答题、证明题等.而做选择题的好处就在于工作量很少,但又因为选择题题目都普遍很长.如果有5张试卷,其中4张是选择题,最后一张是填空题,很明显做最后一张所花的时间要比前4张长很多.但如果你只做了选择题,虽然工作量很少,但表面上看起来也已经做了4/5的作业了.I_Love_C决定就用这样的方法来蒙混过关.
他统计出了做完每一张试卷所需的时间以及它做完后能得到的价值(按上面的原理,选择题越多价值当然就越高咯).现在就请你帮他安排一下,用他仅剩的一点时间来做最有价值的作业.
Input
测试数据包括多组.每组测试数据以两个整数M,N(1≤M≤20,1≤N≤10000)开头,分别表示试卷的数目和I_Love_C剩下的时间.接下来有M行,每行包括两个整数T,V(1≤T≤N,0
1个回答 分类:数学 2014-11-19

问题解答:

我来补答
哪里的题?
再问: 不知道。。。
再答: 这题设计到动态规划 是个裸的01背包问题 不知道你知道吗
再问: 那么你把那个 01背包问题 和他的思路 还有C语言代码 发一下吧 分就给你了
再答: 01背包这里有 http://baike.baidu.com/view/1731915.htm 这题代码我给你写个 你等等 不过我不明白 这题数据都是整数 为什么保留2位小数? #include #include #define MAX 10000 int f[MAX+100]; int main() { int w,v,m,n; int i,j; while(~scanf("%d%d",&m,&n) && m||n) { memset(f,0,sizeof(f)); for(i=1;i=w;j--) if(f[j]
 
 
展开全文阅读
剩余:2000