题目链接

https://www.patest.cn/contests/gplt/L1-043

思路

将每一次 借出和归还 都用 MAP 标记 如果归还的时候 已经被标记过了 那么 ANS ++ 并且 TIME 也加上相应时间

最后 算一下平均时间 要四舍五入

AC代码

  1. #include <iostream>
  2. #include <cstdio>
  3. #include <algorithm>
  4. #include <cmath>
  5. #include <deque>
  6. #include <vector>
  7. #include <queue>
  8. #include <string>
  9. #include <cstring>
  10. #include <map>
  11. #include <stack>
  12. #include <set>
  13. #include <cstdlib>
  14. #include <ctype.h>
  15. #include <numeric>
  16. #include <sstream>
  17. using namespace std;
  18. typedef long long LL;
  19. const double PI = 3.14159265358979323846264338327;
  20. const double E = 2.718281828459;
  21. const double eps = 1e-6;
  22. const int MAXN = 0x3f3f3f3f;
  23. const int MINN = 0xc0c0c0c0;
  24. const int maxn = 1e5 + 5;
  25. const int MOD = 1e9 + 7;
  26. struct node
  27. {
  28. int time;
  29. int flag;
  30. };
  31. int main()
  32. {
  33. int t;
  34. cin >> t;
  35. a:
  36. while (t--)
  37. {
  38. map <string, node> m;
  39. m.clear();
  40. string ID;
  41. char vis;
  42. int h, mins;
  43. int ans = 0;
  44. int time = 0;
  45. while (cin >> ID)
  46. {
  47. scanf(" %c %02d:%02d", &vis, &h, &mins);
  48. if (ID == "0")
  49. {
  50. if (ans > 0)
  51. time = (int)(time*1.0/ans + 0.5);
  52. printf("%d %d\n", ans, time);
  53. goto a;
  54. }
  55. else
  56. {
  57. if (vis == 'S')
  58. {
  59. m[ID].time = h * 60 + mins;
  60. m[ID].flag = 1;
  61. }
  62. else if (vis == 'E')
  63. {
  64. if (m[ID].flag == 1)
  65. {
  66. ans ++;
  67. time += (h * 60 + mins) - m[ID].time;
  68. m.erase(ID);
  69. }
  70. }
  71. }
  72. }
  73. }
  74. }

PAT 天梯赛 L1-043. 阅览室 【STL】的更多相关文章

  1. PTA 天梯赛 L1

    L1-002 打印沙漏 细节:就是在  (i>j&&i+j<r+1) 这个区间里才有空格,然后就是 for 循环   for(r=1; ;r+=2)  条件不满足之后还会再 ...

  2. PAT天梯赛 L1-049 天梯赛座位分配

    题目链接:点击打开链接 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] ...

  3. PAT天梯赛L3-007 天梯地图

    题目链接:点击打开链接 本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线:一条是最短距离的路线.题目保证对任意的查询请求,地图上都至 ...

  4. PAT天梯赛练习题——L3-007. 天梯地图(多边权SPFA)

    L3-007. 天梯地图 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 本题要求你实现一个天梯赛专属在线地图,队员输入自己学校 ...

  5. PAT 天梯赛 L1-043 阅览室

    L1-043. 阅览室 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者 ...

  6. PAT 天梯赛 L2-012. 关于堆的判断 【Heap】【STL】

    题目链接 https://www.patest.cn/contests/gplt/L2-012 思路 使用 STL 里面有关 Heap 的函数 std::make_heap将[start, end)范 ...

  7. PAT 天梯赛 L1-030. 一帮一 【STL】

    题目链接 https://www.patest.cn/contests/gplt/L1-030 思路 用三个 Vector 来分别存放 整个排名,以及男生的单独排名和女生的单独排名 从整个的排名 从上 ...

  8. PAT 天梯赛 L1-020. 帅到没朋友 【STL】

    题目链接 https://www.patest.cn/contests/gplt/L1-020 思路 对于每个 K >= 2 的朋友圈,里面的所有 ID 都用 MAP 标记一下 对于每个 K = ...

  9. PAT天梯赛 L2-019. 悄悄关注 【STL】

    题目链接 https://www.patest.cn/contests/gplt/L2-019 思路 将已关注的人 用 MAP存起来 然后将点赞的用户中 没有关注的 用 VECTOR 存下来 并且求出 ...

随机推荐

  1. [转]jsonp详解

    jsonp详解 json相信大家都用的多,jsonp我就一直没有机会用到,但也经常看到,只知道是“用来跨域的”,一直不知道具体是个什么东西.今天总算搞明白了.下面一步步来搞清楚jsonp是个什么玩意. ...

  2. 转:c++里关于cerr,clog,cout三者的区别

    c++里关于cerr,clog,cout三者的区别: cerr(无缓冲标准错误)-----没有缓冲,发送给它的内容立即被输出 clog(缓冲标准错误)--------有缓冲,缓冲区满时输出 cout- ...

  3. 使用 NGUI Toggle 制作单选框

    好久没写了,今天来把关于NGUI的做的简单功能发上来~ 这个是做单选框的.用了新版本的NGUI后,发现没有以前的Checkbox了,在网上查了之后才知道是用Toggle代替了以前的Checkbox.现 ...

  4. 2017-5-14 湘潭市赛 Longest Common Subsequence 想法题

    Longest Common Subsequence Accepted : Submit : Time Limit : MS Memory Limit : KB Longest Common Subs ...

  5. 配置LANMP环境(3)-- 安装anmp前准备与实用软件安装

    一.安装配置vim 1.安装 yum -y install vim* 2.创建文件夹 mkdir -p /etc/vim/ 3.配置 vim ~/.vimrc  "插入模式时 光标的上下左右 ...

  6. 基于JS实现回到页面顶部的五种写法(从实现到增强)

    这篇文章主要介绍了基于JS实现回到页面顶部的五种写法(从实现到增强)的相关资料,本文介绍的非常详细,实用性也非常高,非常具有参考借鉴价值,需要的朋友可以参考下   写法 [1]锚点 使用锚点链接是一种 ...

  7. easy_UI datagrid view数据格式化

    从数据库中提取的信息,有时候需要后期处理一下,easy_ui给了我们很好的一个方法,根据easy_ui生成datagridview的两种方式,下面用两种方式来格式化显示数据信息 1,通过脚本生成的da ...

  8. 什么是 AJAX?

    AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML). 简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行 ...

  9. java String去除两端的空格和空字符

    java中String有个trim()能够去掉一个字符串的前后空格.但是trim()只能去掉字符串中前后的半角空格,而无法去掉全角空格.去掉全角空格需要在trim()方法的基础上加上一些判断.Stri ...

  10. Python Theano 一键安装

    Download Anaconda Anaconda is a completely free Python distribution (including for commercial use an ...