FatMouse' Trade
来源:互联网 发布:ubuntu 10 虚拟机镜像 编辑:程序博客网 时间:2024/06/02 18:31
The warehouse has N rooms. The i-th room contains J[i] pounds of JavaBeans and requires F[i] pounds of cat food. FatMouse does not have to trade for all the JavaBeans in the room, instead, he may get J[i]* a% pounds of JavaBeans if he pays F[i]* a% pounds of cat food. Here a is a real number. Now he is assigning this homework to you: tell him the maximum amount of JavaBeans he can obtain.
该题目为贪心算法,将比例按顺序排好,按取所需就可!
#include <iostream>
#include <algorithm>
#include <iomanip>
using namespace std;
struct Trade
{
int j,f;
double percent;
}Info[1005];
bool cmp(Trade &a,Trade &b)
{
return a.percent>b.percent;
}
int main()
{
int m,n;
while(cin>>m>>n)
{
if(m==-1&&n==-1)
break;
for(int i=0;i<n;i++)
{
cin>>Info[i].j>>Info[i].f;
Info[i].percent = (double)Info[i].j/Info[i].f;
}
double beans = 0,catfood = 0;
int i;
sort(Info,Info+n,cmp);
for(i=0;i<n;i++)
{
beans += Info[i].j;
catfood += Info[i].f;
if(catfood>m)
{
catfood -= Info[i].f;
beans -= Info[i].j;
break;
}
}
if (i<n)
beans += (double)(m - catfood)/Info[i].f * Info[i].j;
cout.precision(3);
cout.setf(ios::fixed);
cout<<beans<<endl;
}
return 1;
}
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- FatMouse' Trade
- 位运算操作符
- SQL面试题
- 疑犯在警局内跳楼身亡 此前因聚赌携枪被捕
- yaffs文件系统在2.6内核上的移植--操作步骤(转载)
- Gedit快捷键
- FatMouse' Trade
- ASP.NET Application_Error错误日志写入
- Xcode 常用编译选项设置
- Visual Sudio无法命中断点的问题
- 翻转句子中单词的顺序
- 分数计算器
- java中的final关键字
- 解决 Unsupported major.minor version 错误
- 触发器