ZOJ 2109 FatMouse's Trade(贪心)

来源:互联网 发布:淘宝刷单被发现 编辑:程序博客网 时间:2024/05/16 19:38

题意:

简单的贪心题,选择性价比高的。最后不够的,不必取整。

代码:

#include <iostream>#include <vector>#include <algorithm> #include <iomanip>using namespace std;struct room{int javabean,catFood;double rate;};bool cmp(room a,room b){return a.rate>b.rate;}int main(){int amount,roomNum,javabean,catFood,cnt;double rate,ans;room tmp;while(cin>>amount>>roomNum&&(amount!=-1&&roomNum!=-1)){ans=0;cnt=0;vector <room> store;for(int i=0;i<roomNum;i++){cin>>javabean>>catFood;tmp.javabean=javabean;tmp.catFood=catFood;tmp.rate=1.0*javabean/catFood;store.push_back(tmp);}sort(store.begin(),store.end(),cmp);while(true){   if(cnt==store.size())break;   if(amount>=store[cnt].catFood)   {         ans+=store[cnt].javabean;         amount-=store[cnt].catFood;         cnt++;      }      else      {        ans+=1.0*amount*store[cnt].rate;      amount=0;      break;      }}cout<<fixed<<setprecision(3)<<ans<<endl;}return 0; }


0 0
原创粉丝点击