zoj 2109 || hdoj1009 FatMouse' Trade(贪心)
来源:互联网 发布:知乎 阿里 投资 编辑:程序博客网 时间:2024/05/22 00:20
题意:
M N
J[i] F[i]
fatmouse有M克猫粮(类似吧),现在有个房间,F[i] pounds 猫粮 可以换 J[i] pounds javabeans.
(hdoj的discuss里有句话很搞:“在我查过大量的资料后,终于明白了,JavaBean是一种爪哇产的咖啡豆,肥鼠怎么可能喜欢吃这种东西...........”)
分析:
果断贪心,按照j/f 排序。WA了几次,还是因为思考问题不严密啊,真的要有意识地加强。严谨!!!.
1 0 和
0 1
1 0
这两组数据过不了,然后就断网了。继续把情况考虑了下.早上很早就起来交上去试试,结果行了。哎,郁闷。学姐也发给我一份她改过的,没考虑特殊情况,
只不过在判断条件上我用
if(M>a[i].f)
然后她是加了个=。这样就可以了。>_<
偶的丑代码:
#include <iostream>#include <cstdio>using namespace std;typedef struct p{ int j,f; double d;}point;int main(){ int M,N; int i,j; double ff,res; point a[1005],temp; while(~scanf("%d%d",&M,&N)) { if(M==-1&&N==-1) break; res=0; if(N==0) printf("%.3f\n",res); for(i=0;i<N;i++) { cin>>a[i].j>>a[i].f; a[i].d=(double)a[i].j/a[i].f; } for(i=0;i<N;i++) { for(j=i;j<N;j++) { if(a[i].d<a[j].d) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } } for(i=0;i<N;i++) { if(M>a[i].f) { res+=a[i].j; M-=a[i].f; if((i>=N-1&&M>0)||M==0) {printf("%.3f\n",res);break;} } else if(M<=a[i].f) { ff=(double)a[i].j/a[i].f; if(a[i].f==0) res+=a[i].j; else res+=ff*M; printf("%.3f\n",res); break; } } } return 0;}学姐的:#include <iostream>#include <cstdio>using namespace std;typedef struct p{int j,f;double d;}point;int main(){int M,N;int i,j;double res;point a[1005],temp;while(~scanf("%d%d",&M,&N)){if(M==-1&&N==-1) break;res=0;for(i=0;i<N;i++){cin>>a[i].j>>a[i].f;a[i].d=(double)a[i].j/a[i].f;}for(i=0;i<N;i++){for(j=i;j<N;j++){if(a[i].d<a[j].d){temp=a[i];a[i]=a[j];a[j]=temp;}}}for(i=0;i<N;i++){if(M>=a[i].f)//条件注意{res+=a[i].j;M-=a[i].f;if(M==0)break;}else if(M<a[i].f){res+=a[i].d*M;break;}}printf("%.3f\n",res);}return 0;}
- zoj 2109 || hdoj1009 FatMouse' Trade(贪心)
- zoj 2109 FatMouse' Trade 贪心
- hdoj1009 FatMouse' Trade——贪心算法
- HDOJ1009 FatMouse' Trade(贪心,硬币问题)
- ZOJ FatMouse' Trade 贪心
- ZOJ 2109 FatMouse's Trade(贪心)
- HDOJ1009.FatMouse' Trade
- FatMouse' Trade<hdoj1009>
- Hdoj1009 FatMouse' Trade
- ZOJ-2109FatMouse' Trade
- ZOJ 2109 FatMouse' Trade
- zoj 2109 FatMouse' Trade
- ZOJ 2109 FatMouse' Trade
- ZOJ 2109 FatMouse' Trade
- zoj 2109 FatMouse' Trade (纯水背包问题~贪心❤)
- ZOJ 2109 FatMouse' Trade (背包 dp + 贪心)
- zoj 2109 FatMouse' Trade【水】
- zoj 2109 FatMouse' Trade简单的贪心 (注意double数组的排序问题)
- 精品代码收藏,AU3规划桌面图标坐标。
- 过滤器2
- (转)五年教学实践与思考的结晶——推荐邹欣老师的《现代软件工程讲义》目录
- 如何学好算法与程序设计
- PHP技术现实HTTP提交POST事件
- zoj 2109 || hdoj1009 FatMouse' Trade(贪心)
- 108. Custom is a second nature. 习惯是后天养成的
- html在线编译器
- 频繁模式挖掘总结
- Struts2 的Action中取得请求参数值的几种方法
- WINCE6.0+S3C6410睡眠和唤醒的实现
- 继承关系树的每个具体类对应一张表
- 第十三周四天
- 继承关系的根类对应一个表