I_love_csdn_verymuch 2019-07-07 22:17 采纳率: 0%
浏览 100

求助!一道难题exchange

题目描述:
你正参加一个东北商品资源交易(NEERC)的自动化控制的工程。不同的资源和商品通过公众拍卖在交易会上买卖。每个资源或者商品都独立地买卖并且你的任务是为这次交易写一个核心引擎——它的订货簿。
订货簿接收一系列消息。消息可以是一个订单,也可以是取消先前的某个订单。没有被取消的订单被称为活跃的。订单分为要买的订单和要卖的订单。每个要买或者要卖的订单有一个正的尺寸和正的价格。订货簿包含一系列活跃的订单并且生成引述和买卖。以最高价买的订单是最好的买的订单并且它的价格就叫做出价。以最低价卖的订单是最好的卖的订单并且它的价格叫做要价。
一个来自订货簿的当前的报价包含当前要的尺寸、当前出价、当前有的尺寸、当前要价。这里的当前要的尺寸和当前有的尺寸分别是是所有有着相同出价和要价的活跃订单的尺寸之和。
一次交易记录买者和卖者的交易信息。每次交易都有尺寸和价格。
如果到达订货簿的买的订单的出价大于等于当前的要价,那么符合的订单就配对并且交易发生。反之亦然,如果到达订货簿的卖的订单的要价小于等于当前的出价,那么交易也发生。对于相同价格的订单,先接收到的订单先交易。
如果到达订货簿的买的订单的出价大于等于当前的要价,它不会立马进入订货簿。首先,一系列的交易被生成,尽可能减少输入的订单的尺寸。交易在输入的买的订单和最好的订单之间发生。如果有多个最好的订单(在要价一样时候),那么先进入的订单就被选中。交易以当前的要价发生,尺寸为两个相配的订单的尺寸的最小者。接着,两个订单的尺寸都减小交易的尺寸。如果卖的订单的尺寸减小到0,那么它变成不活跃的并且从订货簿中移出。如果买的订单的尺寸减小到0,那么该过程结束——输入的订单变得不活跃。如果买的订单的尺寸仍然是正的,并且有另外的订单可以相匹配,那么该过程继续计算以新的价格(要价可以提升,因为卖的订单可能变得不活跃)进行的进一步的交易。如果没有卖的订单与之相配(当前要价比出价还贵),那么买的订单以它的所剩尺寸进入订货簿。
对于输入的卖的订单,所有的工作都相似——它和买的订单相匹配并且交易以出价产生。
对于输入的被取消的要求,相符的订单简单地从订货簿中移去并变得不活跃。注意,在取消要求的时候,相符订单的尺寸可能已经减少了部分,或者该订单已经变得不活跃。取消不活跃的订单的要求在订货簿中不改变任何东西。
对于每个输入的信息,在处理完相符信息后,订货簿需要产生所有它产生的交易和当前引述(当前要的尺寸、出价、当前有的尺寸、要价),即使该信息没有改变订货单任何东西。因此,订货簿生成的引述总等于输入的信息数。

输入:
输入的第一行包含一个整数n(1 <= n <= 10000)——订货簿将要处理的消息数。接下来n行包含消息。每行开始一个单词描述订单的种类——BUY,SELL或者CANCEL,后面跟一个空格。
BUY或SELL说明一个订货单是买还是卖,并且接下来两个整数q和p,(1 <= q <= 99999,1 <= p <= 99999)——订单尺寸和价格。CENCEL代表取消先前的订单。后面一个整数i,先前的第i个信息被取消(信息从1到n标号,数据保证该信息是一个订单)。

输出:
输出一系列的输入信息生成的引述和交易。对于每个交易,输出“TRADE”,接着一个空格,后面是交易的尺寸和价格。对于每个引述,输出一个“QUOTE”,接着一个空格,输出当前要的尺寸,出价,减号(“-”),当前有的尺寸,要价(都用一个空格隔开)。
有一种特殊情况,在订货簿中没有活跃的卖单或者买单。这种情况如下处理:如果没有活跃的买的订单,那么假设需求尺寸是0且出价是0。如果没有卖的订单,那么假设供应尺寸是0且要价是99999。注意,0不是一个合法的价格,但是99999是合法的价格。

样例输入:
11
BUY 100 35
CANCEL 1
BUY 100 34
SELL 150 36
SELL 300 37
SELL 100 36
BUY 100 38
CANCEL 4
CANCEL 7
BUY 200 32
SELL 500 30

样例输出:
QUOTE 100 35 - 0 99999
QUOTE 0 0 - 0 99999
QUOTE 100 34 - 0 99999
QUOTE 100 34 - 150 36
QUOTE 100 34 - 150 36
QUOTE 100 34 - 250 36
TRADE 100 36
QUOTE 100 34 - 150 36
QUOTE 100 34 - 100 36
QUOTE 100 34 - 100 36
QUOTE 100 34 - 100 36
TRADE 100 34
TRADE 200 32
QUOTE 0 0 - 200 30

谁能帮我翻译一下大致的题意!
谁能帮我翻译一下大致的题意!
谁能帮我翻译一下大致的题意!
谁能帮我翻译一下大致的题意!
谁能帮我翻译一下大致的题意!
谁能帮我翻译一下大致的题意!
谁能帮我翻译一下大致的题意!
谁能帮我翻译一下大致的题意!
谁能帮我翻译一下大致的题意!
谁能帮我翻译一下大致的题意!
谁能帮我翻译一下大致的题意!
谁能帮我翻译一下大致的题意!
谁能帮我翻译一下大致的题意!

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-20 21:26
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料