FatMouse's Trade(猫鼠交易)

2024-02-07 16:08
文章标签 交易 trade 猫鼠 fatmouse

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

 

1247: FatMouse's Trade

时间限制: 1 Sec  内存限制: 32 MB
提交: 89  解决: 55
您该题的状态:已完成
[提交][状态][讨论版]

题目描述

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. 

输入

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.

样例输入

4 2
4 7
1 3
5 5
4 8
3 8
1 2
2 5
2 4
-1 -1

样例输出

2.286
2.500

 

#include<cstdio>
#include<algorithm>
using namespace std;
struct off
{
    double a;
    double b;
    double c;
}team[1001];
int cmp(off x,off y)
{
    return x.c>y.c;
}
int main()
{
    int m,n;
    while(scanf("%d %d",&m,&n))
    {
        if(m==-1&&n==-1)
        {
            break;
        }
        int i,j;
        for(i=0;i<n;i++)
        {
            scanf("%lf %lf",&team[i].a,&team[i].b);
            team[i].c =team[i].a /team[i].b ;
        }
        sort(team,team+n,cmp); 
        double sum=0;
        for(i=0;i<n;i++)
        {
            if(m>team[i].b)
            {
                m-=team[i].b;
                sum+=team[i].a;
            }
            else
            {
                sum+=m*team[i].c ;
                break;
            }
         } 
         printf("%.3lf\n",sum);
    }
    return 0;
}

这篇关于FatMouse's Trade(猫鼠交易)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

量化交易面试:什么是连贯风险度量?

连贯风险度量(Coherent Risk Measures)是金融风险管理中的一个重要概念,旨在提供一种合理且一致的方式来评估和量化风险。连贯风险度量的提出是为了克服传统风险度量方法(如VaR,风险价值)的一些局限性。以下是对连贯风险度量的详细解释: 基本概念: 连贯风险度量是指满足特定公理的风险度量方法,这些公理确保了风险评估的一致性和合理性。 这些公理包括:非负性、次可加性、同质性和单调

散户炒股票为什么进步慢,学习程序化交易思维

炒股自动化:申请官方API接口,散户也可以 python炒股自动化(0),申请券商API接口 python炒股自动化(1),量化交易接口区别 Python炒股自动化(2):获取股票实时数据和历史数据 Python炒股自动化(3):分析取回的实时数据和历史数据 Python炒股自动化(4):通过接口向交易所发送订单 Python炒股自动化(5):通过接口查询订单,查询账户资产 散户炒股的常见难题

个股场外期权怎么交易?场外期权交易流程是怎样的?

今天带你了解个股场外期权怎么交易?场外期权交易流程是怎样的?个股场外期权是一种非标准化的期权合约,通常在场外市场(OTC市场)由金融机构和投资者之间进行交易。 场外个股期权主要功能 风险管理: 帮助投资者对冲持有个股的价格波动风险。比如,投资者担心持有的股票价格下跌,可以通过买入场外认沽期权来锁定最低卖出价。 投机获利: 投资者可以利用场外期权进行投机,利用杠杆效应,投入较少资金博取标的

期权交易中最基本的操作!新手先从期权买入开仓开始!

今天带你了解期权交易中最基本的操作!新手先从期权买入开仓开始!交易期权的第一步是选择一个可信赖的期权交易平台,可以是大型券商提供的交易平台或专业的期权交易所。 新手先从期权买入开仓开始 买入开仓(即建立权利仓),卖出开仓(即建立义务仓)。买入开仓最大亏损不超过开仓时支付的权利金,最大收益,理论上无限;卖出开仓则相反,最大收益不超过开仓时收取的权利金,最大亏损理论上无限。 买入开仓亏损有限,收

50ETF期权对于投资者有哪些作用?具体怎么交易50ETF期权

今天带你了解50ETF期权对于投资者有哪些作用?具体怎么交易50ETF期权?50ETF期权提供了一种灵活且成本效率高的方式来增加收益、管理风险或进行市场投机。 50ETF期权为投资者提供了多样化的投资策略和风险管理工具。 50ETF期权对投资者的主要作用 对冲风险:投资者可以通过购买看涨或看跌期权来对冲持有的ETF份额或其他相关资产的价格波动风险。 投机:投资者可以利用相对较小的资本投入来

区块链ARC如何能让节点能够大规模处理交易数据

​​发表时间:2024年8月7日 TAAL技术主管Michael Böckli表示,TAAL公司一直在对ARC进行测试,并准备在今年年底全面发布。因TAAL在区块链交易处理方面具备深厚的专业知识,BSV区块链委托TAAL进行ARC开源参考落地方案的开发。 ARC是一个多层交易处理系统,能够追踪交易在BSV区块链上的整个生命周期。 除了遵循BSV区块链的开源指南和要求开发ARC的开源版

期权的组合交易策略有哪些?为你介绍期权价差组合策略

今天带你了解期权的组合交易策略有哪些?为你介绍期权价差组合策略。期权的组合策略相对来说是比较复杂的,投资者需要在操作速度和合约选择上有更多的经验,但是这种方法是降低成本和风险的最好方法。 期权价差组合 价差组合就是认购期权价差和认沽期权价差组合在一起,认购期权价差组合就是买入平值或者虚值的认购期权,卖出更高执行价的认购期权。认沽期权价差组合是指买入平值或者虚值认沽期权,卖出更低执行价的认沽期权

量化交易面试:什么是中心极限定理?

中心极限定理(Central Limit Theorem, CLT)是概率论和统计学中的一个重要定理,它描述了在一定条件下,独立随机变量的和的分布趋向于正态分布的性质。这个定理在量化交易和金融分析中具有重要的应用价值。以下是对中心极限定理的详细解释: 基本概念: 中心极限定理指出,当我们从一个具有任意分布的总体中抽取足够大的样本时,样本均值的分布将近似于正态分布,无论原始总体的分布是什么样的。

Python股票接口实现量化交易的优势是什么

炒股自动化:申请官方API接口,散户也可以 python炒股自动化(0),申请券商API接口 python炒股自动化(1),量化交易接口区别 Python炒股自动化(2):获取股票实时数据和历史数据 Python炒股自动化(3):分析取回的实时数据和历史数据 Python炒股自动化(4):通过接口向交易所发送订单 Python炒股自动化(5):通过接口查询订单,查询账户资产 量化交易的优势与前景

数理金融工程毕业之后求职应用方向,量化交易方面如何

炒股自动化:申请官方API接口,散户也可以 python炒股自动化(0),申请券商API接口 python炒股自动化(1),量化交易接口区别 Python炒股自动化(2):获取股票实时数据和历史数据 Python炒股自动化(3):分析取回的实时数据和历史数据 Python炒股自动化(4):通过接口向交易所发送订单 Python炒股自动化(5):通过接口查询订单,查询账户资产 金融专业的热门就业方