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 ...
随机推荐
- C# 调用C++ DLL 的类型转换
//C#调用C++的DLL搜集整理的所有数据类型转换方式,可能会有重复或者多种方案,自己多测试 //c++:HANDLE(void *) ---- c#:System.IntPtr //c++:Byt ...
- iOS SDWEBImage和collectionView的组合,以及collectionView的随意间距设置
转载自:http://www.cnblogs.com/tmf-4838/p/5361271.html #import "ViewController.h" #import < ...
- 3g 上网卡使用
控制面板\网络和 Internet\网络连接每个USB孔都会分配网路名 --cisco vpn 连接问题解决 启动(以管理员身份运行) sc stop SharedAccess ---完美解决win7 ...
- treecnt
treecnt ﹡ LH (命题人) 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 给定一棵n个节点的树,从1到n标号.选择k个点,你需要选择一些边使得这k个点通过选择 ...
- winsock编程WSAEventSelect模型
winsock编程WSAEventSelect模型 WSAEventSelect模型和WSAAsyncSelec模型类似,都是用调用WSAXXXXXSelec函数将socket和事件关联并注册到系统, ...
- span设置宽和高当没有内容的时候也可以撑开
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- position:fixed 居中问题
设置Css属性position:fixed后如何使这个盒子居中呢?其实也很简单: 就是需要设置给这个div盒子设置属性: left:0; right:0; margin:0 auto; ******* ...
- 将GridView导入到Excel
前几天做项目需要用到将GridView中的数据导入到Excel,原以为很简单,上网搜了一下资料,果然方法不少,于是就采用了一个: private void GridViewToExcel() { Re ...
- hdu_5793_A Boring Question(打表找规律)
题目链接:hdu_5793_A Boring Question 题意: 自己看吧,说不清楚了. 题解: 打表找规律 #include<cstdio> typedef long long l ...
- nefu 446 今年暑假不AC(贪心)
Description “今年暑假不AC?” “是的.” “那你干什么呢?” “看世界杯呀,笨蛋!” “@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会 ...