HDU 1009贪心
2015-06-02 14:51
323 查看
贪心思想 还是挺简单的。先排序,再进行比较:
#include <iostream> #define MAX 999999999 using namespace std; double J[1000]={0},F[1000]={0}; double R[1000]={0}; int main() { int M,N; double a; double JavaBean,CatFood; while(cin>>M>>N){ if(M==-1&&N==-1) break; JavaBean=0; CatFood=0; for(int i=0;i<N;i++){ cin>>J[i]>>F[i]; if(F[i]==0) R[i]=MAX; else R[i]=J[i]/F[i]; } //sort for(int i=0;i<N-1;i++) for(int j=i+1;j<N;j++) if(R[i]<R[j]) { swap(R[i],R[j]); swap(F[i],F[j]); swap(J[i],J[j]); } for(int i=0;i<N;i++){ CatFood+=F[i]; JavaBean+=J[i]; if(CatFood>M){ JavaBean-=J[i]; CatFood-=F[i]; a=(M-CatFood)/F[i]; JavaBean+=J[i]*a; break; } } printf("%.3f\n",JavaBean); } return 0; }
相关文章推荐
- 使用PL/SQL生成随机密码
- HTML<!DOCTYPE> 声明的作用
- UML时序图总结
- android模仿Twitter记住密码功能
- js提交form表单,并传递参数
- XPCOM (Cross Platform Component Object Model)
- Python 第十四周 字符串与正则表达式
- 关于LR录制时不能自动启动IE浏览器的解决方法总结
- istringstream和ostringstream的使用方法
- tmpFile.renameTo(classFile) failed 错误
- VS2010 小技巧
- GraphMatrix::构造、析构、插入、删除
- 对象的向上向下转型规则
- C++使用模板类实现任意类型switch和变量case
- 安装Redis的图形界面管理工具phpRedisAdmin
- [leetcode]Find Minimum in Rotated Sorted Array
- STL容器之deque
- Linux LVM逻辑卷配置过程详解
- android WebView使用 一 (简单使用在程序中)
- xmpp开发入门