HDU 1009贪心

来源:互联网 发布:数据库索引怎么建立 编辑:程序博客网 时间:2024/04/29 00:49
贪心思想 还是挺简单的。先排序,再进行比较:
#include <iostream>#define MAX 999999999using 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];}//sortfor(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;}

0 0
原创粉丝点击