hdoj 幸福列车 1434 (模拟队列)
幸福列车
Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)
Total Submission(s): 2129 Accepted Submission(s): 658
他会记录下全部乘客的名字(name)和他们的人品值(RP),根据这些将他们排序,并不时地从某辆列车里踢出人品最不好(RP值最低)的一个人,当两个人人品一样不好时,他就会踢出名字难听的人(linle认为按字典顺序,排在越在后面的人名字越难听)。
当然出于列车行驶需要,他还会不时的发布一些命令,比如让某个乘客上车,合并某两辆列车等。
linle的上一任秘书***因为不能高效地执行他的这些命令而被炒鱿鱼,他现在正在寻觅新的秘书人选,你能不能胜任呢?(谢绝男士,待遇丰厚~~~)
对于每一组测试,第一行包含两个整数 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辆列车踢出一个人品最差的人
测试数据保证每个操作均合法,即不会将已经被合并到其他列车的列车再进行合并,也不会从一辆空列车里踢出乘客
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 (模拟队列)相关推荐
- hdoj 1434 幸福列车【模拟】
幸福列车 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Total Su ...
- HDU1434 幸福列车【模拟+优先队列】
幸福列车 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Total Su ...
- HDU1434 幸福列车【模拟+优先队列】(老师程序代码注释)
幸福列车 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Total Su ...
- Hdu 1434 幸福列车【优先队列模拟】
幸福列车 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Total Submi ...
- hdoj 1434 幸福列车 【优先队列】
幸福列车 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Total Su ...
- hdu 1434 幸福列车
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1434 幸福列车 Description 一批幸福的列车即将从杭州驶向幸福的终点站--温州,身为总列车长 ...
- HDU - 1434 - 幸福列车
题目: 幸福列车 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Tota ...
- 杭电1434 幸福列车
幸福列车 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Total Su ...
- 杭电1434幸福列车(嵌套结构体,优先队列)
幸福列车 Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Total Su ...
最新文章
- 防止办公用计算机,关于加强办公室计算机使用管理的规定
- social psychology 10th David G. Myers
- js判断是否是ie浏览器且给出ie版本
- Pandas0.25来了,别错过这10大好用的新功能
- GDB入门:A GDB Tutorial with Examples
- 为未来元素添加点击事件的两种写法
- vue打包后图片未显示问题
- python之socket网络编程
- MongoDB 概述、下载安装、配置 、启动与连接
- 中级 PHP 知识点汇总
- PHP 日期时间类 Carbon 的常见用法
- 纯js手写一个element的弹窗,方便修改自己想要的样式
- 小程序 实现语音播放功能
- 八段数码管动态显示(输入数据为BCD编码)
- 一个简单的UDP回显服务器
- 计算机的问卷调查的题目,新颖的调查问卷的题目
- Windows 11 预览版来了?
- 微信公众号实现“一键关注”功能
- 053试题 334/682 - crosscheck
- svn 合并分支 idea