UVa-1598-Exchange

    用两个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。

阅读更多
文章标签: UVa 算法题
个人分类: 小白
上一篇UVa-511-Way to SanJose?
下一篇稀疏矩阵的C++实现
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭