FatMouse\' Trade -HUD1009

2024-08-28 07:48
文章标签 trade fatmouse hud1009

本文主要是介绍FatMouse\' Trade -HUD1009,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://acm.hdu.edu.cn/showproblem.php?pid=1009

这题J[i]是可以分割的所以是一道贪心题。话说这道题我wrong了好几次才过。~第一次看没注意J[i]  F[i]都应该是double 类型的。
解题思路:贪心。先排序然后 最先用 以最少的猫食换取取最多的JavaBean的那个组合。
代码如下

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<vector>
#include<cmath>
#include<stdlib.h>
#include<iomanip>
#include<list>
#include<deque>
#include<map>
#include <stdio.h>
#include <queue>

#define maxn 1000+5
#define ull unsigned long long
#define ll long long
#define reP(i,n) for(i=1;i<=n;i++)
#define rep(i,n) for(i=0;i<n;i++)
#define cle(a) memset(a,0,sizeof(a))
#define mod 90001
#define PI 3.141592657

const ull inf = 1LL << 61;
const double eps=1e-5;

using namespace std;
double J[maxn],F[maxn];
struct node
{
double t;
int id;
}nod[maxn];
bool cmp(node a,node b)
{
return a.t>b.t;
}
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int n,m;
while(cin>>m>>n)
{
if(m==-1&&n==-1)break;
for(int i=1;i<=n;i++)
{
scanf("%lf%lf",&J[i],&F[i]);//
nod[i].id=i;
nod[i].t=(1.0*J[i]/F[i]);
}
sort(nod+1,nod+1+n,cmp);
double ans=0;
for(int i=1;i<=n;i++)
{
if(m==0)break;
if(F[nod[i].id]<=m)
{
m=m-F[nod[i].id];
ans+=J[nod[i].id];
}
else
{
ans+=((1.0*m)/F[nod[i].id])*J[nod[i].id];
m=0;
}
}
printf("%.3lf\n",ans);
}
return 0;
}





这篇关于FatMouse\' Trade -HUD1009的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1114162

相关文章

EE trade:辨别真假银5个实用的技巧

从古至今, 银器以其闪耀的光泽和高贵典雅的魅力, 深受人们喜爱。 然而, 由于银具有较高的市场价值, 也引来了一些不法商贩的仿造。 如何辨别真假银, 成为许多人关注的话题。 别担心, 今天我们就来揭秘5个简单实用的技巧, 助您轻松辨别真假银! 一、 感官辨别 1. 观察颜色: 真银的颜色呈银白色, 光泽柔和, 表面平滑细腻。 假银的颜色可能偏黄或偏灰, 光泽暗淡, 表面粗糙, 甚至有斑点或金属

Joy-Trade智能量化平台发起“日星悦易”的抽奖活动

Joy-Trade(悦交易)智能量化平台将于11月11日上午11点正式启动“日星悦易”的抽奖活动,通过星座文化为使投资者加深对投资运势把握,提升投资者的交易心态,活动将作为Joy-Trade量化交易的文化宣导。悦交易联席CEO Rocket表示:“星座在历史中是象征着一个人的性格和财运的具象化,很多人在投资的过程中总是过于焦虑,通过星座文化的活动我们想在这样紧张的氛围中给加密市场的投资者带来一些轻

hdu 1160 FatMouse's Speed(最长上升子序列 +记录路径)

http://acm.hdu.edu.cn/showproblem.php?pid=1160 题意:有若干只老鼠,给出每只老鼠的大小和速度。输出尽量多的老鼠的下标m1,m2,m3......满足下标对应的老鼠大小严格递增而老鼠速度严格递减。 思路:先对老鼠的速度从大到小排序,在对老鼠的大小求最长上升子序列。在这过程中,用pre[ ]记录路径。 #include <stdio.h>#in

HDU1159——通用子序列,HDU1160——FatMouse的速度、HDU1165——艾迪的研究 II

HDU1159——通用子序列 题目描述 问题 - 1159 (hdu.edu.cn) 问题描述 给定序列的子序列是给定的序列,其中遗漏了一些元素(可能没有)。给定一个序列 X = <x1, x2, ..., xm>如果存在一个严格递增的 X 索引序列 <i1, i2, ..., ik>>,则另一个序列 Z = <z1, z2, ..., zk 是 X 的子序列,使得所有 j = 1

ee trade:黄金投资与股票投资的区别

黄金和股票, 是金融市场中两种常见的投资工具, 它们拥有截然不同的特点和风险, 了解它们的差异, 可以帮助投资者制定更合理的投资策略。 一、 投资性质: 避险与成长, 两种投资方向 黄金: 被视为避险资产和保值工具, 在经济不稳定或通货膨胀时期, 黄金通常能够保持其价值, 甚至增值。 股票: 代表的是对一家公司的所有权, 其价值与公司的业绩紧密相关。 股票投资更多地与公司的成长潜力和市场表现

EE trade:炒伦敦金的注意事项及交易指南

在贵金属市场中,伦敦金因其高流动性和全球认可度,成为广大投资者的首选。然而,在炒伦敦金的过程中,投资者需要注意一些关键点。南华金业小编带您一起来看看。 国际黄金报价 一般国际黄金报价会提供三个价格: 买价(Bid Price):对方申请买入的价格,即卖出价。 申卖价(Ask Price):对方申请卖出的价格,即买入价。 现价(Current Price):一个中间参考价,无实际交易意义。

EE trade:现货黄金交易时间与操作技巧

现货黄金作为当今最为热门的投资方式之一,其独特的交易机制和高收益潜力吸引了大量投资者的关注。对于新手投资者而言,可能对于现货黄金交易完全是一片空白。因此,了解现货黄金的交易时间和操作技巧、掌握基本投资知识,是至关重要的。本文将带您深入探讨现货黄金交易的基础知识和操作技巧,帮助您在投资过程中取得更加理想的表现。 一、现货黄金交易时间解析 现货黄金的一个显著特点是其24小时无间断的交易时间。不同于

hodj 1009 FatMouse' Trade--贪心算法

整体思路:整体思路就是以 JavaBean/CatFood比为基准,比值大的房间优先。使用结构体排序,结构体排序。 #include <iostream>#include <algorithm>#include <string>#include <map>#include <stdio.h>using namespace std;struct trade{double a;//Ja

hdu(1078) FatMouse and Cheese (记忆化搜索+dp)

/*第一次用记忆化搜索, 其实并不难,只不过在搜索的同时记住了在各个坐标的权值。 在这里题意是;在一个n*n的矩阵里,值是权值,在竖直或水平方向上 行走1--k步,全只要递增,不能重复走,到最后使其总权值和最大。 说白了就是找一个递增序列,使其总和值最大。。 */ 这一题综合了DFS和DP,很好的一道题。dp[i][j]表示以第i行第j列个 网格为起点所能得到的最大值,需要注意的是一次最多走k步

贪心法 部分背包问题 结构体数组 FatMouse' Trade

FatMouse’ Trade 题目: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 contai