201412-3 集合竞价

import sys
records = []# ctrl+D stop
for line in sys.stdin:record = line.split()records.append(record)# search 'cancel' and set it as ""; transfer "buy" and "sell" string data as float or int type
for record in records:if record[0] == 'cancel':record[0] = ""records[int(record[1])-1][0]=""elif record[0] in ["buy","sell"]:# pricerecord[1] = float(record[1])# numberrecord[2] = int(record[2])# delete "" record
new_records = []
for i in range(len(records)):if records[i][0]!="":new_records.append(records[i])"""
如果开盘价为p0,则系统可以将所有出价至少为p0的买单和所有出价至多为p0的卖单进行匹配。
因此,此时的开盘成交量为出价至少为p0的买单的总股数和所有出价至多为p0的卖单的总股数之间的较小值。
"""
# sort from big to small by 'price' index
"""
[['buy', 100.0, 50], ['sell', 9.0, 1000],
['buy', 9.0, 400], ['sell', 8.92, 400], ['buy', 8.88, 175]]"""
new_records.sort(key=(lambda x:x[1]),reverse=True)buyList = {}
lastbuy = 0for name,price,number in new_records:if name == "buy":# 买 出价越高越好:出价高于当前值的都可以成交 记录当前价格可以成交的股数lastbuy+=numberbuyList[price] = lastbuy
# {100.0: 50, 9.0: 450, 8.92: 450, 8.88: 625}
#print(buyList)sellList = {}
lastsell = 0new_records.sort(key=(lambda x:x[1])) # small to bigfor name,price,number in new_records:if name == "sell":# 买家出价为p0,卖家小于p0的卖出价都可以成交lastsell += numbersellList[price]=lastsell
# print(sellList)
# {8.88: 0, 8.92: 400, 9.0: 1400, 100.0: 1400}prices = list(buyList)
max_number = 0
best_price = 0
# print(prices)
# [100.0, 9.0, 8.92, 8.88]for price in prices:data = min(buyList[price],sellList[price])if data > max_number:best_price = pricemax_number = dataprint("{:.2f} {}".format(best_price,max_number))

CCF CSP 201412-3 集合竞价 python相关推荐

  1. 【CCF CSP】【Python】【201903-1】小中大

    [CCF CSP][Python][201903-1] 小中大 题目要求 代码实现 主要方法 提交验证 题目要求 代码实现 1.初始版(又名完全原创版.欠优化版.无法体现"人生苦短,我用PY ...

  2. python认证考试_Python入门习题(39)——CCF CSP认证考试真题:公共钥匙盒

    CCF CSP认证考试真题:共钥匙盒 问题描述 试题编号:201709-2 试题名称:公共钥匙盒 时间限制:1.0s 内存限制:256.0MB 问题描述 有一个学校的老师共用N个教室,按照规定,所有的 ...

  3. CCF CSP认证菜鸟刷题日志

    CCF CSP菜鸟刷题日志(c/c++) 本萌新写给自己看的,要是有大佬路过,请多多指教orz 立个flag:每日一更,至201903 9月15ccf csp,冲鸭! 今天(2019.8.18)起每天 ...

  4. 计算机能力挑战赛_蓝桥杯、PAT、CCF CSP、团体程序设计天梯赛、传智杯、计算机能力挑战赛、软考等大学生编程比赛/考试介绍...

    介绍7个适合普通大学生参加的编程比赛/考试(注:有的比赛如蓝桥杯有多种赛别,本文仅介绍其中的程序设计/编程比赛). 编程入门书籍推荐<算法笔记>,内容详细易懂,对新手非常友好,描述语言为C ...

  5. CCF CSP认证考试在线评测系统

    关于CCF CSP认证考试在线评测系统 CCF CSP认证考试简介 CCF是中国计算机学会的简称.CCF计算机软件能力认证(简称CCF CSP认证考试)是CCF于2014年推出,是CCF计算机职业资格 ...

  6. CCF 202112-2 序列查询新解 python 满分

    CCF 202112-2 序列查询新解 python 满分 题目叙述 问题描述:略 输入格式:略 输出格式:略 样例 满分证明 解题思路 01Python超时70分 02满分python思路 第一,计 ...

  7. CSP认证 202009-4 星际旅行 Python 题解 思路清晰

    CSP认证 202009-4 星际旅行 Python 题解 思路清晰 本题找对数学关系就很容易求了,分三种情况: P1,P2的连线 与圆心的距离 >=r,即这条直线在园外,P1和P2的最短距离就 ...

  8. CCF CSP认证考试题解目录

    由于本人的书籍<算法详解(C++11 语言描述)>已经出版,为了降低题解的维护难度,有关CCF CSP考试的所有题解的更新将全部在书籍的配套仓库进行,CSDN博客中不再进行任何题解的更新. ...

  9. CCF CSP 201609-2 火车购票

    题目链接:http://118.190.20.162/view.page?gpid=T46 问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配. 假设一节车厢有20排.每一排 ...

  10. 以CCF CSP认证为抓手,积极探索软件基础能力递进式培养体系

    原文链接:以CCF CSP认证为抓手,积极探索软件基础能力递进式培养体系 发布单位:学会      发布时间:2017-01-20 16:16 作者:陆建峰    余立功 摘要:为提升计算机专业类学生 ...

最新文章

  1. DPM2010恢复exchange2010单个用户邮箱邮件
  2. 通用mapper笔记
  3. axios02-其他使用方式(推荐)
  4. ubuntu adb 调试手机
  5. 12.oauth密码模式identity server4实现
  6. Deep learning with Python 学习笔记(9)
  7. 群组密钥交换的新方法研究与分析【会议】
  8. 【clickhouse】MergeTree storage require data path INCOORRECT_FILE_NAME
  9. VS2019如何修改字体大小
  10. 挑战性题目DSCT601:背包问题
  11. cad中tk什么意思_cad绘图tk命令技巧
  12. 大创和互联网加_大创?科研立项?互联网+大赛?创业大赛?……你还在纠结吗?...
  13. C语言:文章各类字符数统计
  14. 如何将epub电子书格式转换成txt文本
  15. 最全面的应届毕业生落户上海指南(2021)
  16. 晶圆做成芯片的工艺流程
  17. 管理:重要性影响力方格
  18. Elastic-Job-分布式定时任务框架(张亮原著)
  19. 自动回复串口工具AutoRespondComTool
  20. 预约制成为汽车年检新常态

热门文章

  1. php 国密,PHP关于国密SM3加密的处理
  2. Android 内存优化(1)
  3. 蓝牙1.1~5.0不同版本特性简介
  4. CentOS 7 | 下载并安装yum
  5. Win32_SDK_非模态对话框(非模态对话框窗口的销毁,模态与非模态对比,计算器项目练习)
  6. 商标买卖哪个平台最好_商标买卖哪个平台最大?
  7. 【Python知识树 -- 预备知识】之 模块管理
  8. lpop 原子_初中化学:分子、原子、离子综合汇总
  9. [附源码]计算机毕业设计JAVA剧本杀门店管理系统-
  10. 监听浏览器最小化与最大化时,执行的动作。