PAT (Advanced Level) 1095. Cars on Campus (30)
模拟题。仔细一些即可。
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<map>
#include<queue>
#include<cstring>
#include<stack>
#include<vector>
#include<iostream>
using namespace std; int n,m;
struct Info
{
string id;
int time,f;
int quary;
}tmp[+],s[+]; string ans[+]; struct SJ
{
string id;
int time;
}sj[+]; bool cmp(const Info&a,const Info&b)
{
if(a.id==b.id) return a.time<b.time;
return a.id<b.id;
} bool cmp2(const Info&a,const Info&b)
{
if(a.time==b.time) return a.quary<b.quary;
return a.time<b.time;
} int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
{
cin>>tmp[i].id;
int hh,mm,ss; scanf("%d:%d:%d",&hh,&mm,&ss);
tmp[i].time=hh**+mm*+ss;
char op[]; scanf("%s",op);
if(op[]=='i') tmp[i].f=;
else tmp[i].f=;
tmp[i].quary=;
} sort(tmp+,tmp++n,cmp); int sz=,p=;
while()
{
if(p>n) break;
if(tmp[p].f==)
{
if(tmp[p+].f==&&tmp[p+].id==tmp[p].id)
{
s[sz++]=tmp[p];
s[sz++]=tmp[p+];
p=p+;
}
else p++;
}
else p++;
} int r=;
sj[r].id=s[].id;
sj[r].time=s[].time-s[].time;
for(int i=;i<sz;i=i+)
{
if(s[i].id==s[i-].id)
{
sj[r].time=sj[r].time+s[i+].time-s[i].time;
}
else
{
r++;
sj[r].id=s[i].id;
sj[r].time=s[i+].time-s[i].time;
}
}
r++; int Max=,u=;
for(int i=;i<r;i++) Max=max(Max,sj[i].time);
for(int i=;i<r;i++)
if(sj[i].time==Max)
ans[u++]=sj[i].id;
sort(ans,ans+u); for(int i=;i<m;i++)
{
int hh,mm,ss; scanf("%d:%d:%d",&hh,&mm,&ss);
s[sz].quary=;
s[sz++].time=hh**+mm*+ss;
} sort(s,s+sz,cmp2); int num=;
for(int i=;i<sz;i++)
{
if(s[i].quary==)
{
printf("%d\n",num);
}
else {
if(s[i].f==) num++;
else num--;
}
} sort(ans,ans+u);
for(int i=;i<u;i++)
{
cout<<ans[i];
printf(" ");
} int hh,mm,ss;
hh=Max/; Max=Max-hh*;
mm=Max/; Max=Max-mm*;
ss=Max; printf("%02d:%02d:%02d\n",hh,mm,ss); return ;
}
PAT (Advanced Level) 1095. Cars on Campus (30)的更多相关文章
- 【PAT甲级】1095 Cars on Campus (30 分)
题意:输入两个正整数N和K(N<=1e4,K<=8e4),接着输入N行数据每行包括三个字符串表示车牌号,当前时间,进入或离开的状态.接着输入K次询问,输出当下停留在学校里的车辆数量.最后一 ...
- PAT (Advanced Level) Practise - 1095. Cars on Campus (30)
http://www.patest.cn/contests/pat-a-practise/1095 Zhejiang University has 6 campuses and a lot of ga ...
- PAT甲题题解-1095. Cars on Campus(30)-(map+树状数组,或者模拟)
题意:给出n个车辆进出校园的记录,以及k个时间点,让你回答每个时间点校园内的车辆数,最后输出在校园内停留的总时间最长的车牌号和停留时间,如果不止一个,车牌号按字典序输出. 几个注意点: 1.如果一个车 ...
- 1095. Cars on Campus (30)
Zhejiang University has 6 campuses and a lot of gates. From each gate we can collect the in/out time ...
- 1095 Cars on Campus (30)(30 分)
Zhejiang University has 6 campuses and a lot of gates. From each gate we can collect the in/out time ...
- 【PAT Advanced Level】1004. Counting Leaves (30)
利用广度优先搜索,找出每层的叶子节点的个数. #include <iostream> #include <vector> #include <queue> #inc ...
- PAT (Advanced Level) 1076. Forwards on Weibo (30)
最短路. 每次询问的点当做起点,然后算一下点到其余点的最短路.然后统计一下最短路小于等于L的点有几个. #include<cstdio> #include<cstring> # ...
- PAT (Advanced Level) 1068. Find More Coins (30)
01背包路径输出. 保证字典序最小:从大到小做背包. #include<cstdio> #include<cstring> #include<cmath> #inc ...
- PAT (Advanced Level) 1045. Favorite Color Stripe (30)
最长公共子序列变形. #include<iostream> #include<cstring> #include<cmath> #include<algori ...
随机推荐
- 一个神奇SQL引发的故障【转】
前几天一个客户数据库主实例告警,诊断过程中发现是由一个慢SQL导致的数据库故障,而在排查逐步深入之后却发现这个现象的不可思议. 问题描述 2016年12日09日,大概9点26分左右,一个客户的生产库主 ...
- iOS UITextView 根据输入text自适应高度
转载自:http://www.cnblogs.com/tmf-4838/p/5380495.html #import "ViewController.h" @interface V ...
- JavaScript(9)——call与apply
call与apply call和apply方法可以通过函数名称来调用函数.有两个参数 call()方法与apply()方法的作用相同,他们的区别仅在于接收参数的方式不同. [call] 调用一个对象的 ...
- Java Web开发: Tomcat中部署项目的三种方法
web开发,在tomcat中部署项目的方法: 可以参考http://m.blog.csdn.net/blog/u012516903/15741727 定义$CATALINA_HOME指的是Tomcat ...
- WINDOWS特有的消息常量标识符
'========================================'WINDOWS特有的消息常量标识符'======================================== ...
- 百度地图与融云的“冲突”(APP的.so手机架构目录,与Library的.so的手机架构目录冲突)
在项目引进融云的IMkit时,总是报百度地图的错误,最开始以为是65535的错误,然后试着去改下百度地图,错误原因是在IMKit里面,它的.so库有这么几个目录 而我的app的libs里面的百度地图的 ...
- hdu_5794_A Simple Chess(lucas+dp)
题目链接:hdu_5794_A Simple Chess 题意: 给你n,m,从(1,1)到(n,m),每次只能从左上到右下走日字路线,有k(<=100)的不能走的位置,问你有多少方案 题解: ...
- hdu_2227_Find the nondecreasing subsequences_树状数组,离散化
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2227 题意:给你一个集合,让你求递增子序列有多少个,和树状数组求逆序对差不多,不过数据比较大,要离散化 ...
- WCF:调用方未由服务器进行身份验证
错误描述: 1. WCF:调用方未由服务器进行身份验证 2. 无法处理消息.这很可能是因为操作“http://tempuri.org/ISCCLSvc/GetCarriersByWareHouse”不 ...
- 安装 nodejs
接下来使用npm命令安装express和socket.io 没有的话 用yum 安装一下 12 npm install --save expressnpm install --save socket. ...