Java编写胖老鼠的交易_猫和胖老鼠
FatMouse准备了M磅的Cat-Food,以便用来跟小Cat交换好吃的JavaBean。
现在有N个房间,第i个房间有J[i]磅的JavaBean,其交换的筹码是F[i]磅的Cat-Food。
当然,FatMouse还是有很大的选择权的,对任意一个房间,它可以只交换一部分的Cat-Food。
现要求FatMouse以怎样的策略才能获得最多的Cat-Food。
这也是一道简单 & 典型的贪心算法题,
这道贪心比HDOJ-ACM-1052-Tian Ji — The Horse Racing:田忌赛马要简单许多,
它的整体思路就是以javaBean/catFood比为基准,大比值房间优先。
/*#include
int main()
{
int M,N;
while(scanf("%d%d",&M,&N)!=EOF)
{
int i,j,J[1000],F[1000],temp1;
double ratio[1000],JavaBeans=0,temp;
if((M==-1)&&(N==-1))
{
return 0;
}
for(int i=0;i
{
scanf("%d%d",&J[i],&F[i]);
ratio[i]=(J[i]*1.0)/F[i];
}
for(i=0;i
{
for(j=0;j
{
if(ratio[j]
{
temp=ratio[j];
ratio[j]=ratio[j+1];
ratio[j+1]=temp;
temp1=F[j];
F[j]=F[j+1];
F[j+1]=temp1;
temp1=J[j];
J[j]=J[j+1];
J[j+1]=temp1;
}
}
}
for(i=0;i
{
if(M>=F[i])
{
JavaBeans=J[i]+JavaBeans;
M=M-F[i];
}
else
{
JavaBeans=JavaBeans+ratio[i]*M;
break;
}
}
printf("%.3lf\n",JavaBeans);
}
return 0;
}*/
#include
#include
using namespace std;
int a[10010];
int b[10010];
double c[10010];
int main ()
{
int m,n;
while(scanf("%d%d",&m,&n)==2)
{
if (m==-1&&n==-1) {break;}
for (int i=0; i
scanf("%d%d",&a[i],&b[i]);
for(int i=0; i
{
c[i]=(a[i]*1.0)/b[i];
}double temp;int temp1;int temp2;
for(int i=0; i
{
for(int j=0; j
{
if(c[j]
{
temp=c[j];
c[j]=c[j+1];
c[j+1]=temp;
temp1=a[j];
a[j]=a[j+1];
a[j+1]=temp1;
temp2=b[j];
b[j]=b[j+1];
b[j+1]=temp2;
}
}
}
float s=0;
for (int i=0; i
{
if(m>=b[i])
{
s=s+a[i];m=m-b[i];
}
else
{
s=s+(c[i])*m;
break;
}
}
printf("%.3f\n",s);
}
return 0;
}
/*
5 3
7 2
4 3
5 2
20 3
25 18
24 15
15 10
-1 -1*/
Java编写胖老鼠的交易_猫和胖老鼠相关推荐
- Java 编写程序打印以下图形_怎么用java编写如下程序在屏幕上输出如下图形 * *** *** * 循环语句做(if语句)...
怎么用java编写如下程序在屏幕上输出如下图形 * *** ***** ******* ***** ... 4个答案 提问时间: 2011-12-16 22个赞 回答:这个图形对吧? * *** ...
- java编写某计算器控制台程序_用java程序编写一个计算器
点击查看用java程序编写一个计算器具体信息 答:给你一个参考,希望不要被百度吞了当晚餐 import java.awt.BorderLayout; import java.awt.GridLayou ...
- Java编写学生类student程序_编写一个JAVA程序片断定义一个表示学生的类student.docx...
编写一个JAVA程序片断 定义一个表示学生的类student,包括域"学号","班级","姓名","性别"," ...
- 用java编写一个故事的程序_使用Java怎么编写一个递归程序
使用Java怎么编写一个递归程序 发布时间:2021-02-20 16:05:44 来源:亿速云 阅读:52 作者:Leah 这篇文章将为大家详细讲解有关使用Java怎么编写一个递归程序,文章内容质量 ...
- java编写point类line类_定义一个点类Point,有横坐标x和纵坐标y,定义构造
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:定义一个点类Point,有横坐标x和纵坐标y,定义构造函数初始化点,回答:#include class Point{private: ...
- java编写某计算器控制台程序_计算器 - 进阶的憨狗 - 博客园
源起 最近在看程杰著作的<大话设计模式>,全书以小菜和大鸟对话的形势,由浅入深的讲解程序的设计思想,影射出一个个设计模式.我之前虽然也使用过一些设计模式,但没有系统的学习.整理.总结,现从 ...
- 用java编写一个简易功能画板_用Java语言编写一个简易画板
讲了三篇概博客的概念,今天,我们来一点实际的东西.我们来探讨一下如何用Java语言,编写一块简易的画图板. 一.需求分析 无论我们使用什么语言,去编写一个什么样的项目,我们的第一步,总是去分析这个项目 ...
- java编写字符串连接程序注释_一种利用JAVA注释支持多行字符串的方法
从BeetlSql项目将SQL全放在Beetl模板里得到启发,又想到一个比较偏门的用法.以下代码实测通过,详见jSqlBox项目的test\examples\multipleLineSQL\SqlTe ...
- 用java编写运行的小游戏_第一次用Java编写小游戏!
哈哈,我又来发帖了- -话说好久没碰eclipse了,所以这次就给大家带来一个我的原创作品:Java猜拳!!! 先上效果: 1.PNG (13.21 KB, 下载次数: 34) 2016-1-24 1 ...
最新文章
- Faas 典型场景——应用负载有显著的波峰波谷,典型用例-基于事件的数据处理...
- php 根据数量创建数组,php实现根据字符串生成对应数组的方法
- replace使用案例--替换空格
- 书讯:《架构实战—软件架构设计的过程》
- mysql6获取不到连接_codesmith6.5连接Mysql提示“找不到请求的 .Net Framework Data Provider。可能没有安装。”解决方法...
- IdentityServer4 中文文档 -11- (快速入门)添加基于 OpenID Connect 的用户认证
- 移动磁盘提示使用驱动器中的光盘之前需要格式化文件怎么找回
- Elasticsearch 基于ElastAlert发送邮件报警
- 屏幕适配 percent_库的扩展
- matlab做聚类分析(简单的直接用clusterdata)
- 干货!量子技术入门、进阶、行业专家观点、最新资讯!1000篇好文帮你揭开量子技术神秘面纱!
- QT 打开PDF文件或图片文件
- 5000多字深度分析:从电视剧《鱿鱼游戏》看国内SaaS行业
- 大一python基础编程试卷_Python编程基础练习题
- 不用win10的人,在用win7-usb-creator时出现的一个无提示现像.
- 每日获取强智教务系统课表,并发送短信到学生手机!爬虫真牛逼!
- 字节跳动2018.11校招测试岗笔试(回忆版)
- 什么是办公自动化(OA)?
- mysql 查询主键和主键列,查询Mysql表名、主键、列名
- 复盘暴涨,TWEE焕发第二春
热门文章
- Gradle Tasks clear app:generateDebugSources,app:mockableAndroidJar app prepareDebugUnitTestDependenc
- iOS面试题整理---关键字!!!
- LeetCode 35.搜索插入位置
- 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?...
- MySQL 学习笔记(3)— 字符串函数、数值函数、日期时间函数、流程函数、聚集函数以及分组数据
- YML(2)yml 语法
- 谈谈对web标准的理解
- 软件工程需求设计说明书
- mysql更改数据文件目录及my.ini位置| MySQL命令详解
- NodeJS+Mongodb+Express做CMS博客系统