关闭

UVa-1598-Exchange

标签: UVa算法题
535人阅读 评论(0) 收藏 举报
分类:

    用两个map<int,vector<pair<int,int>>,greater<int>>,map<int,vector<pair<int,int>>,less<int>>分别保存buy信息和sell信息,其中key是价格,每个pair是一条信息。pair.first是信息序号,pair.second是数量。map<int,pair<string,int>>用来指示某个序号的信息是buy还是sell,并且保存相应的价格。每从输入获取一条信息,如果是buy,则检查sellInfo中的最小价格是否低于此条buy信息的价格,若是,则进行交易,直到有一方size为0或askprice高于buy价格。输入信息是sell时,操作类似。如果是CANCEL,则找到对应的pair删除之,当然也有可能找不到(已经交易完毕)。

    每次处理不管是否进行了交易,都要输出一条quote信息。若没有激活的信息,则输出0 0 - 0 99999。

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1787次
    • 积分:99
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档