PAT 天梯赛 L1-043. 阅览室 【STL】
题目链接
https://www.patest.cn/contests/gplt/L1-043
思路
将每一次 借出和归还 都用 MAP 标记 如果归还的时候 已经被标记过了 那么 ANS ++ 并且 TIME 也加上相应时间
最后 算一下平均时间 要四舍五入
AC代码
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <deque>
#include <vector>
#include <queue>
#include <string>
#include <cstring>
#include <map>
#include <stack>
#include <set>
#include <cstdlib>
#include <ctype.h>
#include <numeric>
#include <sstream>
using namespace std;
typedef long long LL;
const double PI = 3.14159265358979323846264338327;
const double E = 2.718281828459;
const double eps = 1e-6;
const int MAXN = 0x3f3f3f3f;
const int MINN = 0xc0c0c0c0;
const int maxn = 1e5 + 5;
const int MOD = 1e9 + 7;
struct node
{
int time;
int flag;
};
int main()
{
int t;
cin >> t;
a:
while (t--)
{
map <string, node> m;
m.clear();
string ID;
char vis;
int h, mins;
int ans = 0;
int time = 0;
while (cin >> ID)
{
scanf(" %c %02d:%02d", &vis, &h, &mins);
if (ID == "0")
{
if (ans > 0)
time = (int)(time*1.0/ans + 0.5);
printf("%d %d\n", ans, time);
goto a;
}
else
{
if (vis == 'S')
{
m[ID].time = h * 60 + mins;
m[ID].flag = 1;
}
else if (vis == 'E')
{
if (m[ID].flag == 1)
{
ans ++;
time += (h * 60 + mins) - m[ID].time;
m.erase(ID);
}
}
}
}
}
}
PAT 天梯赛 L1-043. 阅览室 【STL】的更多相关文章
- PTA 天梯赛 L1
L1-002 打印沙漏 细节:就是在 (i>j&&i+j<r+1) 这个区间里才有空格,然后就是 for 循环 for(r=1; ;r+=2) 条件不满足之后还会再 ...
- PAT天梯赛 L1-049 天梯赛座位分配
题目链接:点击打开链接 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] ...
- PAT天梯赛L3-007 天梯地图
题目链接:点击打开链接 本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线:一条是最短距离的路线.题目保证对任意的查询请求,地图上都至 ...
- PAT天梯赛练习题——L3-007. 天梯地图(多边权SPFA)
L3-007. 天梯地图 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 本题要求你实现一个天梯赛专属在线地图,队员输入自己学校 ...
- PAT 天梯赛 L1-043 阅览室
L1-043. 阅览室 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者 ...
- PAT 天梯赛 L2-012. 关于堆的判断 【Heap】【STL】
题目链接 https://www.patest.cn/contests/gplt/L2-012 思路 使用 STL 里面有关 Heap 的函数 std::make_heap将[start, end)范 ...
- PAT 天梯赛 L1-030. 一帮一 【STL】
题目链接 https://www.patest.cn/contests/gplt/L1-030 思路 用三个 Vector 来分别存放 整个排名,以及男生的单独排名和女生的单独排名 从整个的排名 从上 ...
- PAT 天梯赛 L1-020. 帅到没朋友 【STL】
题目链接 https://www.patest.cn/contests/gplt/L1-020 思路 对于每个 K >= 2 的朋友圈,里面的所有 ID 都用 MAP 标记一下 对于每个 K = ...
- PAT天梯赛 L2-019. 悄悄关注 【STL】
题目链接 https://www.patest.cn/contests/gplt/L2-019 思路 将已关注的人 用 MAP存起来 然后将点赞的用户中 没有关注的 用 VECTOR 存下来 并且求出 ...
随机推荐
- Boolean 转 string
boolean b=false; String b= String.valueOf(b);
- makefile使用注意点
1. 小心空格 变量赋值a:= b, 不会将b前面的空格赋值给a 大部分函数调用,特别是$(call func, param) 如果参数前面有空格,则会将空格连同参数一起传入.因此要特别小心. 使 ...
- Oracle----Oracle 11g XE release2安装与指导
今天上午我安装了Oracle 11g企业版,发现太占内存了,考虑到MS SQL有express版本,所以寻思着尝试尝试Oracle 11g的express版本,就是EX版本.下面是具体的安装步骤. 1 ...
- 整理mp4协议重点,将协议读薄
MP4 实际代表的含义是 MPEG-4 Part 14.它只是 MPEG 标准中的 14 部分.它主要参考 ISO/IEC 标准来制定的.MP4 主要作用是可以实现快进快放,边下载边播放的效果.他是基 ...
- python 字符串格式化 ( 百分号 & format )
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. ----百分号 tpl = ...
- 加载Chrome&Firefox配置
一.加载Chrome配置 分析: Chrome加载配置的方法,只需要改下面一个地方,就是将username改成你本机电脑的名字(不要用中文) '--user-data-dir=C:\Users\use ...
- CBV流程
django CBV 源码分析 FBV和CBV FBV(function base views) 就是在视图里使用函数处理请求. 在之前django的学习中,我们一直使用的是这种方式,所以不再赘述. ...
- awk特征相同行的合并
[root@linux-node1 ~]# cat test.txt hisk01 hisk02 hisk03 hisk04 hisk05 hisk06 hisk07 hisk08 [root@lin ...
- c#实现一个打砖块游戏step by step---开篇
一 引子 为了让更多的编程初学者,轻松愉快地掌握面向对象的思考方法,对象继承和多态的妙用,故推出此系列随笔,还望大家多多支持. 二 游戏截图与说明 1. 游戏截图 2. 游戏说明: 蓝色砖块砖块为普通 ...
- Log4j将不同Package的日志输出到不同的文件
转自:http://www.crazyant.net/1931.html 随着项目规模的越来越大,会不断的引入新的模块,不同的模块都会打印自己的日志,最后就造成日志根本没法查看,比如我自己的项目中,就 ...