幸福列车

Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others)
Total Submission(s): 2129    Accepted Submission(s): 658

Problem Description
一批幸福的列车即将从杭州驶向幸福的终点站——温州,身为总列车长的linle有一些奇怪的癖好。

他会记录下全部乘客的名字(name)和他们的人品值(RP),根据这些将他们排序,并不时地从某辆列车里踢出人品最不好(RP值最低)的一个人,当两个人人品一样不好时,他就会踢出名字难听的人(linle认为按字典顺序,排在越在后面的人名字越难听)。

当然出于列车行驶需要,他还会不时的发布一些命令,比如让某个乘客上车,合并某两辆列车等。

linle的上一任秘书***因为不能高效地执行他的这些命令而被炒鱿鱼,他现在正在寻觅新的秘书人选,你能不能胜任呢?(谢绝男士,待遇丰厚~~~)

Input
本题包含多组测试,请处理到文件结束。
对于每一组测试,第一行包含两个整数 N ,M ,表示一共有N( N<=10000 ) 辆列车,执行M( M<=10000 )次操作。
接下来有 N (从1开始记数)辆列车的信息,每辆列车先有一个数字 Xi(1 <= Xi <= 100 ),表示该列车有Xi个乘客,接下来Xi行乘客信息,每个乘客包含名字(20个字符以内,不包含空白符)和人品(0<= RP <=30000)。
再接下来有 M 行操作信息,一共有3种操作,分别为

GETON Xi name RP 表示有一个叫name的人品为RP的人登上第Xi列车

JOIN Xi Xj 表示有将第Xj辆列车合并到Xi辆列车

GETOUT Xi 表示从第Xi辆列车踢出一个人品最差的人

测试数据保证每个操作均合法,即不会将已经被合并到其他列车的列车再进行合并,也不会从一辆空列车里踢出乘客

Output
对于每个 GETOUT 命令,输出被踢出的那个人的名字
Sample Input
  
3 5 2 xhd 0 zl 1 2 8600 1 ll 2 1 Ignatius 3 GETOUT 1 JOIN 1 2 GETOUT 1 GETON 3 hoho 2 GETOUT 3
Sample Output
  
xhd zl hoho

Hint

Huge input, scanf is recommended.

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<queue>
using namespace std;
const int MAXN = 10010;
struct Node
{char nm[21];int rp;friend bool operator < (Node a,Node b){if(a.rp != b.rp)return a.rp > b.rp;else {if(strcmp(a.nm,b.nm) < 0)return 1;else return 0;}}
};
priority_queue<Node>q[MAXN];
int main()
{int N,M,x;while(~scanf("%d%d",&N,&M)){Node a;for(int i = 1;i <= N;i++){while(!q[i].empty())q[i].pop();scanf("%d",&x);while(x--){scanf("%s%d",a.nm,&a.rp);q[i].push(a);}}char s[10];int xi,xj;while(M--){scanf("%s",s);if(strcmp(s,"GETON") == 0){scanf("%d%s%d",&xi,a.nm,&a.rp);q[xi].push(a);}else if(strcmp(s,"JOIN") == 0){scanf("%d%d",&xi,&xj);while(!q[xj].empty()){q[xi].push(q[xj].top());q[xj].pop();}}else if(strcmp(s,"GETOUT") == 0){scanf("%d",&xi);printf("%s\n",q[xi].top().nm);q[xi].pop();}}}return 0;
}

hdoj 幸福列车 1434 (模拟队列)相关推荐

  1. hdoj 1434 幸福列车【模拟】

    幸福列车 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others) Total Su ...

  2. HDU1434 幸福列车【模拟+优先队列】

    幸福列车 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others) Total Su ...

  3. HDU1434 幸福列车【模拟+优先队列】(老师程序代码注释)

    幸福列车 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others) Total Su ...

  4. Hdu 1434 幸福列车【优先队列模拟】

    幸福列车 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Total Submi ...

  5. hdoj 1434 幸福列车 【优先队列】

    幸福列车 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others) Total Su ...

  6. hdu 1434 幸福列车

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1434 幸福列车 Description 一批幸福的列车即将从杭州驶向幸福的终点站--温州,身为总列车长 ...

  7. HDU - 1434 - 幸福列车

    题目: 幸福列车 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others) Tota ...

  8. 杭电1434 幸福列车

    幸福列车 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others) Total Su ...

  9. 杭电1434幸福列车(嵌套结构体,优先队列)

    幸福列车 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 131070/65535 K (Java/Others) Total Su ...

最新文章

  1. 防止办公用计算机,关于加强办公室计算机使用管理的规定
  2. social psychology 10th David G. Myers
  3. js判断是否是ie浏览器且给出ie版本
  4. Pandas0.25来了,别错过这10大好用的新功能
  5. GDB入门:A GDB Tutorial with Examples
  6. 为未来元素添加点击事件的两种写法
  7. vue打包后图片未显示问题
  8. python之socket网络编程
  9. MongoDB 概述、下载安装、配置 、启动与连接
  10. 中级 PHP 知识点汇总
  11. PHP 日期时间类 Carbon 的常见用法
  12. 纯js手写一个element的弹窗,方便修改自己想要的样式
  13. 小程序 实现语音播放功能
  14. 八段数码管动态显示(输入数据为BCD编码)
  15. 一个简单的UDP回显服务器
  16. 计算机的问卷调查的题目,新颖的调查问卷的题目
  17. Windows 11 预览版来了?
  18. 微信公众号实现“一键关注”功能
  19. 053试题 334/682 - crosscheck
  20. svn 合并分支 idea

热门文章

  1. 英灵神殿云服务器配置要求,英灵神殿服务器配置 英灵神殿服务器搭建指南
  2. 外贸信托出钱,维信金科兜底,揭秘信托助贷模式
  3. MySQL联合索引生效规则
  4. js 判断数据类型的四种方法
  5. 怎么才能减肥最快 健康瘦身是首选
  6. PyQt5基础使用!(二)
  7. 【亚马逊运营】从CVR(订单转化率)如何分析广告效果?
  8. 怎样设置rotacast插件_淘宝——如何设置一口价格和店铺会员价及商品促销价
  9. pcs7 opc 连接问题
  10. yolov4用1050ti_c++调用yolov4模型进行目标检测-使用yolov4官方接口