题目1433:FatMouse 题目21
来源:互联网 发布:golang go的用法 编辑:程序博客网 时间:2024/05/22 11:45
FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containing his favorite food, JavaBean.
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.
第一遍Runtime Error,这种错误一般是数组越界造成的,检查发现while循环条件不对,需要考虑food足够多的的情况即while(N>0&&i<M)
题目描述:
- 输入:
The input consists of multiple test cases. Each test case begins with a line containing two non-negative integers M and N. Then N lines follow, each contains two non-negative integers J[i] and F[i] respectively. The last test case is followed by two -1's. All integers are not greater than 1000.
- 输出:
For each test case, print in a single line a real number accurate up to 3 decimal places, which is the maximum amount of JavaBeans that FatMouse can obtain.
- 样例输入:
5 37 24 35 220 325 1824 1515 10-1 -1
- 样例输出:
13.33331.500
#include <stdio.h>#include <iostream>#include <string>#include <string.h>#include <algorithm>#include <cmath>using namespace std;struct Exhange {int j,f;float ra;Exhange(){j=0;f=0;ra=0;}};bool cmp(const Exhange &a,const Exhange &b){return a.ra>b.ra;}int main(){int N,M;cin>>N>>M;while(!(N==-1&&M==-1)){int i=0;Exhange *a=new Exhange[M];for (i=0;i<M;i++){cin>>a[i].j>>a[i].f;a[i].ra=(float)a[i].j/(float)a[i].f;}sort(a,a+M,cmp);float fOut=0;i=0;while(N>0&&i<M){if (N-a[i].f>=0){fOut+=a[i].j;N-=a[i].f;i++;}else{fOut=fOut+(float)N*a[i].ra;N-=a[i].f;}} printf("%.3f\n",fOut);cin>>N>>M;}return 0; }
- 题目1433:FatMouse 题目21
- 21-题目1433:FatMouse
- 题目1433:FatMouse
- 题目1433:FatMouse
- 题目1433:FatMouse
- 题目1433:FatMouse
- 题目21:FatMouse
- 题目21:FatMouse
- 九度题目1433:FatMouse
- 题目1433:FatMouse(贪心算法)
- 九度-题目1433:FatMouse
- 【九度】题目1433:FatMouse
- 题目1433:FatMouse 九度OJ
- 【学习笔记】〖九度OJ〗题目1433:FatMouse
- 九度题目1433:FatMouse(贪心算法)
- 【九度OJ】题目1433:FatMouse 解题报告
- 题目
- 题目
- (转载)RedHat Enterprise Linux 5 安装GCC过程
- ls命令的实现和原理 [linux演习]
- C/C++中cout和printf的运行机制
- 腾讯视频解析接口
- jse-集合框架
- 题目1433:FatMouse 题目21
- iOS开发-Xcode6应用程序国际化本地化
- 给即将走上社会大学生朋友的忠言
- 【推荐系统】Netflix 推荐系统:第二部分
- Activity 的四种启动方式
- 循环队列操作
- 基于mipsel编译Qt4.6.2版本
- 意外之喜
- 第7周项目3.2比较三个数大小