2016 Multi-University Training Contest 7 1010

思路:

我相信T的绝对是直接根据题目意思来了。

正确的一点小转变,比较一下那个队列小,然后把小的给大的,每次都这样就好了。

来想想,觉得这样好像也不对啊,我两个队列都push进去5e4,那么merge操作,还是1e4啊,但是说自己年轻就是连复杂度都不会计算,这个1e4只有一次啊...

年轻啊...七夕节快乐...

<pre name="code" class="cpp">#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <math.h>
#include <queue>
#include <stack>
using namespace std;
#define MAX 100010
#define ll long long
#define mod 10000007
int n,m; struct node
{
int num;
int pri;
bool operator < (const node &a)const
{
return pri<a.pri;
}
}; priority_queue<node> P[3]; int main()
{
int i;
int t=0;
while(~scanf("%d",&n)&&n)
{
while(!P[0].empty()) P[0].pop();
while(!P[1].empty()) P[1].pop(); printf("Case #%d:\n",++t);
char s[11],x[2],y[2];
int a,b,bb;
a=0;
b=1;
node now;
for(i=0;i<n;i++)
{
scanf("%s",s);
if(s[1]=='o')
{
scanf("%s",x);
if(x[0]=='A')
{
bb=P[a].top().num;
printf("%d\n",bb);
P[a].pop();
}
else
{
bb=P[b].top().num;
printf("%d\n",bb);
P[b].pop();
}
}
else if(s[1]=='u')
{
scanf("%s%d",x,&bb);
now.num=bb;
now.pri=i;
if(x[0]=='A')
P[a].push(now);
else
P[b].push(now);
}
else
{
scanf("%s%s",x,y);
if(P[a].size()>P[b].size())
{
while(!P[b].empty())
{
P[a].push(P[b].top());
P[b].pop();
}
if(x[0]!='A')
{
int temp;
temp=a;
a=b;
b=temp;
}
}
else
{
while(!P[a].empty())
{
P[b].push(P[a].top());
P[a].pop();
}
if(x[0]=='A')
{
int temp;
temp=a;
a=b;
b=temp;
}
}
}
}
}
return 0;
}
												

最新文章

  1. [转载]Matlab生成Word报告
  2. 【extjs】:获取列名,时间转换
  3. Maven 小结
  4. Android笔记:C memory copy
  5. Linux计划任务,自动删除n天前的旧文件【转】
  6. iwpriv
  7. shell编程之分隔符
  8. (六)6.5 Neurons Networks Implements of Sparse Autoencoder
  9. matlab中元胞数组(cell)转换为矩阵
  10. css+div 布局遇到的小常识
  11. Mock以及Mockito的使用
  12. 【vue】组件使用Deferred特性
  13. redis命令Set类型(七)
  14. JavaScript逗号操作符
  15. netbeans 正则替换
  16. ESP8266开发综合篇(SDK开发-视频教程总揽)
  17. [转]MyEclipse8.5破解方法
  18. GIS 网站 参考网站
  19. c代码,输出i,j,k互不相同的三位数
  20. 微信小程序--swiper组件

热门文章

  1. 转: 性能测试应该怎么做? (from coolshell.cn)
  2. Android eclipse 项目R文件无法生成
  3. 数组遍历 map()、forEach() 及 字符串切割 split() / 字符串截取 slice()、substring()、substr()
  4. atitit.窗口静听esc退出本窗口java swing c# .net php
  5. ViewGroup如何分发事件
  6. Anaconda和Pycharm安装和配置教程
  7. ZOJ 3874 Permutation Graph 分治NTT
  8. TiDB 整体架构 结合yarn zookeeper分析架构
  9. Oracle Exception
  10. java map 装入list