技术标签: HDU
幸福列车Time Limit: 20000/10000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)Total Submission(s): 3050 Accepted Submission(s): 993 Problem Description 一批幸福的列车即将从杭州驶向幸福的终点站——温州,身为总列车长的linle有一些奇怪的癖好。
Input 本题包含多组测试,请处理到文件结束。
Output 对于每个 GETOUT 命令,输出被踢出的那个人的名字
Sample Input
Sample Output xhd zl hoho Hint Huge input, scanf is recommended.
Author linle
Source
Recommend lcy |
/* HDU1434 幸福列车 */
#include <iostream>
#include <queue>
using namespace std;
const int N = 10000;
struct _node {
string name;
int rp;
friend bool operator < (_node a, _node b) {//运算符重载
if(a.rp != b.rp)
return a.rp > b.rp;
else
return a.name < b.name;
}//排序,将队列中的人按照题意进行排序,以便后续直接踢出
};
int main()
{
std::ios::sync_with_stdio(false);//加快c++的输入输出速度的代码
int n, m, xi, xj;
while(cin >> n >> m) {
priority_queue<_node> q[N+1];
_node t; // 临时的
for(int i=1; i<=n; i++) {
cin >> xi;
while(xi--) {
cin >> t.name >> t.rp;//读入人名和人品
q[i].push(t);//push到第i个队列
}//31__38都是初始化代码
}
while(m--) {//模拟m个指令,做m个循环
string op;
cin >> op;//读入命令
if(op == "GETON") {//根据不同的命令做判断,做不同的处理,geton是上车
cin >> xi >> t.name >> t.rp;
q[xi].push(t);
} else if(op == "JOIN") {//把一个车厢里面的人导入另一个车厢
cin >> xi >> xj;
while(!q[xj].empty()) {
t = q[xj].top();//先暂存在t中,在导入xi中,也可以直接导,不用存在t中了,比较繁琐
q[xi].push(t);
q[xj].pop();//xj中的释放
}
} else if(op == "GETOUT") {
cin >> xi;
t = q[xi].top();//找在前面的人,踢出
cout << t.name << endl;
q[xi].pop();
}
}
}
return 0;
}
/*
输入:
3 5 三辆列车,执行5次操作
2 有两个人在一车厢
xhd 0 名字xhd 人品0
zl 1 名字zl人品1
2 有两个人在二车厢
8600 1 名字8600 人品1
ll 2 名字ll 人品2
1 有一个人在三车厢
Ignatius 3 名字 Ignatius,人品2
GETOUT 1 一车厢踢出一个人
JOIN 1 2 合并一、二车厢
GETOUT 1 一车厢踢出一个人
GETON 3 hoho 2 三车厢上了一个名字hoho,人品为2的人
GETOUT 3 三车厢踢出一个人
输出:
xhd
zl
hoho
分析:
有几个车厢,就得有几个队列,而且得是优先队列。
合理的数据结构表示是关键
*/
文章浏览阅读1.2k次。https://www.simple-talk.com/dotnet/performance/building-performance-metrics-into-asp.net-mvc-applications/https://technet.microsoft.com/en-us/library/ee176961.aspxWhen you're ins_performance metrics into asp.net mvc applications
文章浏览阅读4.2k次,点赞3次,收藏49次。在Baidu,Google寻找了一大堆帖子,最后索性自己看文档自己研究。最后发现实现非常容易,得益于Python强大的串口库Pyserial可以直接调用串口第一步:下载pyserial本人是windows环境,所以其他环境请自行切换1,windows按 + R 打开搜索2,输入CMD进入终端3. 输入pip install pyserial 下载最新版第_python3.6不支持pyserial吗
文章浏览阅读4.4k次,点赞2次,收藏4次。创建build.rs //build.rsexterncratedunce;usestd::{env,path::PathBuf};fnmain(){letlibrary_name="r2c";letroot=PathBuf::from(env::var_os("CARGO_MANIFEST_DIR").unwrap());..._rustc-link-lib
文章浏览阅读3.1k次,点赞4次,收藏34次。“数据可视化过程中,经常遇到两种不同类型图表组合的情况,就是所谓的双坐标轴组合图。最近学习中遇到了此问题,特学习和大家分享,部分内容有个人改进哟”01—效果图02—twoord.plot用法和参数解释---plotrix包# 1、用法/Usage:twoord.plot(lx,ly,rx,ry,data=NULL,main="",xlim=NULL..._r语言如何置组合图的横坐标标题和纵坐标标题
文章浏览阅读1.7k次。一. 将.proto 文件编译出java文件1.下载对应系统的protoc;【自用链接:https://pan.baidu.com/s/1yTwRi8CzvnjX9ICRExQpqQ 密码:mrow】2.在proto.exe所在文件目录下打开命令行(shift+右键),执行: protoc -I=E:\tmp --java_out=./ E:\tmp\send_mail...._proto: file does not reside within any path specified using
文章浏览阅读1.5k次。一、引入Hive原因– 对存在HDFS上的文件或HBase中的表进行查询时,要手工写一堆MapReduce代码– 对于统计任务,只能由懂MapReduce的程序员才能搞定,耗时耗力FaceBook实现并开源Hive,解决海量结构化日志查询– Hive是一个SQL解析引擎,将SQL语句转译成MR Job,然后在Hadoop平台上运行,达到快速开发的目的。Hive一般不会直接接入到业务中使用,从某种意..._hive-jdbc:pom:1.1.0-cdh5.13.0 mvn
文章浏览阅读547次。java反序列化_shiro550反序列化
文章浏览阅读1.7w次,点赞6次,收藏13次。原始数据:id scoreaaa 1aaa 2aaa 3预期结果:id scoreaaa 1,2,3可使用select id,concat_ws(',',collect_set(cast(colname as string))) from table;使用concat_ws函数,需将字段转成string格式,collect_set会对该..._concat_ws 去重
文章浏览阅读8.6k次。1.npm 安装依赖npm install --save @riophae/vue-treeselect2. 在需要使用的组件中引入import Treeselect from '@riophae/vue-treeselect'import '@riophae/vue-treeselect/dist/vue-treeselect.css' components: { Tre..._vue-treeselect 属性
文章浏览阅读224次。计算机毕业设计Java高校后勤保修系统(源码+系统+mysql数据库+lw文档)ssm基于uniapp+Vue框架的《露营》App开发与实现。springboot基于springboot的社会公益平台。ssm基于HTML的“牧经校园疫情防控网站”的设计与实现。springboot基于Java的高校教室申请管理系统。JSP客户关系管理系统的设计与实现sqlserver。JSP教学视频点播系统的设计与实现SQLServer。ssm基于HTML的“守护萌宠”网站的设计与实现。_保修系统系统包图
文章浏览阅读2.5k次。1.先在Git中仓库建立可在github中或码云中搭建 或自己搭建服务器注意设置忽略上传的文件 过滤掉一些文件或文件夹,那么被过滤的内容就不会被git管理,比如: build/: 过滤整个build文件夹; *.class: 过滤所有.class后缀的文件; path/to/local.properties: 过滤具体文件 .gi..._使用 git的注意事项
文章浏览阅读1w次,点赞2次,收藏15次。学习Spring Web Flow的简单使用_spring flow