X的学习计划
来源:互联网 发布:人工智能行业分析总结 编辑:程序博客网 时间:2024/05/16 11:22
X的学习计划
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
在X追上学妹后,日子过得美滋滋啊。每天和女朋友吃吃饭,逛逛街,时间过得很快啊。快要考试了,可是X什么都不会呀,而且时间不多了,X只能尽量学多一点吧。
X有n科课程都需要学,每一科都有一个学习时间t,和收获s。对于一科可以不学满时间t,X想要在有限的时间内有最大的收获,那么我们帮他计划一下吧,看看X最多能收获多少。
输入
第一行输入m(m < 10),表示有m组测试案例。
每个测试案例:
第一行有一个数字n , T(n < 100),表示X有n科课程要学习,和剩余的时间T。
之后的n行,每行两个整数t,s,t表示学习该科需要的时间,s表示学习该科能得到的收获。
输出
每个测试案例输出一行,输出X的最大收获sum(保留2为小数)。
示例输入
2
2 10
5 5
10 10
2 10
5 10
10 10
示例输出
10.00
15.00
提示:贪心,按照效率排序
#include <bits/stdc++.h>#define LL long longusing namespace std;struct node{ int t,s; double Eff;} ls[110];bool cmp(node a,node b){ return a.Eff > b.Eff;}int main(){ //freopen("in.txt","r",stdin); int T,n,m; cin>>m; while(m--) { cin>>n>>T; for(int i=0; i<n; i++) { cin>>ls[i].t>>ls[i].s; ls[i].Eff = ls[i].s*1.0 / ls[i].t; } sort(ls,ls+n,cmp); double sum = 0; for(int i=0; i<n; i++) { if(ls[i].t <= T) { sum += ls[i].s; T -= ls[i].t; } else { sum += T * ls[i].Eff; break; } } printf("%.2lf\n",sum); } return 0;}
0 0
- X的学习计划
- cocos2d-x学习计划
- 未来一段时间的学习计划
- 考前的学习计划
- 我的ASP学习计划
- 我的学习计划
- 我的学习计划
- 我的学习计划
- 2007年的学习计划
- 财管的学习计划
- 我的学习计划
- 下一阶段的学习计划
- 八月份的学习计划
- J2EE总体的学习计划
- J2EE总体的学习计划
- J2EE总体的学习计划
- J2EE总体的学习计划
- 我的j2ee学习计划
- Codeforces Round #303 (Div. 2)E. Paths and Trees 最短路
- Java WEB开发中出现乱码怎么办?这里拯救你..
- HashMap和Hashtable 的区别
- POJ2395---Out of Hay
- MFC MySQL 遇到的问题
- X的学习计划
- Android5.x相关问题合集
- autoresizing
- 每日小学生新聞 図解なるほど:「大阪都構想」 5・17、いざ決戦
- p124 第三章 第44题 潘璠(未完成)
- 云平台openstack中,cloudinit装配、使用
- 《街旁》CEO刘大卫:《街旁》未死
- ul li列表中显示文字强制不换行大于li宽度的文字自动隐藏
- 刷机双清、三清、四清的定义