奋战杭电ACM(DAY5)1009
来源:互联网 发布:软件安全漏洞检测技术 编辑:程序博客网 时间:2024/05/17 04:42
又干了一题,今天感觉不错呀!再接再厉!晚上继续!!
不知不觉原来用到了昨天看的贪心算法~~~用了才知道这个算法就是贪心,看来还不熟练,继续加油练习!!
FatMouse' Trade
#include <iostream>#include <iomanip>using namespace std;int main(){int M,N,i,k;double javabean,tmp;while(cin >> M >> N){if(M==-1 && N==-1)break;else{ javabean=0;double *p= new double[N];int *j= new int[N];int *f= new int[N];for(i=0; i<N; i++){cin >> j[i] >> f[i];if(f[i]==0){javabean+=j[i];p[i]=0;}elsep[i]=(double)(j[i])/f[i];}for(i=0; i<N-1; i++){for(k=i+1; k<N; k++)if(p[i]<p[k]){tmp=p[i]; p[i]=p[k]; p[k]=tmp;tmp=j[i]; j[i]=j[k]; j[k]=tmp;tmp=f[i]; f[i]=f[k]; f[k]=tmp;}}for(i=0; M>0 && i<N; i++){if(M>=f[i]){javabean += j[i];M -=f[i];}else{javabean += M*p[i];M=0;}}cout << setiosflags(ios::fixed) << setprecision(3) << javabean << endl;}}return 0;}
- 奋战杭电ACM(DAY5)1009
- 奋战杭电ACM(DAY5)1007
- 奋战杭电ACM(DAY5)1008
- 奋战杭电ACM(DAY5)1012
- 奋战杭电ACM(DAY1)
- 奋战杭电ACM(DAY2)1003
- 奋战杭电ACM(DAY3)1004
- 奋战杭电ACM(DAY4)1005
- 奋战杭电ACM(DAY6)1010
- 奋战杭电ACM(DAY9)1011
- 奋战杭电ACM(DAY9)1013
- 奋战杭电ACM(DAY9)1014
- 奋战杭电ACM(DAY10)1015
- 奋战杭电ACM(DAY11)1016
- 奋战杭电ACM(DAY11)1017
- 奋战杭电ACM(DAY12)1018
- 奋战杭电ACM(DAY12)1019
- 奋战杭电ACM(DAY12)1020
- 3.3 E7
- jsf web.xml配置
- [IOS]陀螺仪和加速仪编程
- 登陆窗体为什么用OK标记是否登陆成功
- 设置窗口居中的两种方法
- 奋战杭电ACM(DAY5)1009
- 统计数组中各数字出现的次数
- 浙江大学PAT上机题解析之1015. Reversible Primes (20)
- left join、right join、inner join的区别
- 数据结构
- (step6.2.2)hdu 1874(畅通工程续——最短路径)
- 黑马程序员——反射知识总结
- js eval函数使用方法介绍
- USB数据线内阻对充电电流的影响