L1-043. 阅览室

天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时,管理员输入书号并按下S键,程序开始计时;当读者还书时,管理员输入书号并按下E键,程序结束计时。书号为不超过1000的正整数。当管理员将0作为书号输入时,表示一天工作结束,你的程序应输出当天的读者借书次数和平均阅读时间。

注意:由于线路偶尔会有故障,可能出现不完整的纪录,即只有S没有E,或者只有E没有S的纪录,系统应能自动忽略这种无效纪录。另外,题目保证书号是书的唯一标识,同一本书在任何时间区间内只可能被一位读者借阅。

输入格式:

输入在第一行给出一个正整数N(<= 10),随后给出N天的纪录。每天的纪录由若干次借阅操作组成,每次操作占一行,格式为:

书号([1, 1000]内的整数) 键值(“S”或“E”) 发生时间(hh:mm,其中hh是[0,23]内的整数,mm是[0, 59]内整数)

每一天的纪录保证按时间递增的顺序给出。

输出格式:

对每天的纪录,在一行中输出当天的读者借书次数和平均阅读时间(以分钟为单位的精确到个位的整数时间)。

输入样例:

3
1 S 08:10
2 S 08:35
1 E 10:00
2 E 13:16
0 S 17:00
0 S 17:00
3 E 08:10
1 S 08:20
2 S 09:00
1 E 09:20
0 E 17:00

输出样例:

2 196
0 0
1 60思路:这个题不用考虑第一天借的第二天还这种情况;对于同一本书两次借出而只有一次还书,即有S多的情况,忽略靠前的那条记录。
#include<stdio.h>
#include<map>
#include<string.h>
#include<iostream>
using namespace std;
int main()
{int day; cin >> day;map<int, int>ma, mb;while (day--){int book, hh, mm;char ch;ma.clear(); mb.clear();int time = 0, cnt=0;while (scanf("%d %c %d:%d", &book, &ch, &hh, &mm)){//cout << book << " " << ch << " " << hh << " " << mm << endl;if (book == 0)break;if (ch == 'S'){      //注意这里不要去考虑是否已经借出ma[book] = 1;mb[book] = hh * 60 + mm;}if (ch == 'E' && ma[book] == 1){ma[book] = 0;time += hh * 60 + mm - mb[book];cnt++;}}if (cnt == 0)cout << "0 0" << endl;else {double num = time*1.0 / cnt;printf("%d %.0lf\n", cnt, num);}}return 0;
}

 

转载于:https://www.cnblogs.com/zengguoqiang/p/8595943.html

L1-043. 阅览室相关推荐

  1. PAT L1 043 阅览室

    题目描述: 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时.书号为不超过1000的正整数. ...

  2. 团体程序设计天梯赛-练习集-java

    java不一定能都过 有星号*的都是我java过不去的 但是代码思路都是对的 如果需要c++的 可以留言 L1 L2 L3 001 Hello World 紧急救援 凑零钱 002 打印沙漏 链表去重 ...

  3. 天梯赛L1(1-80)

    目录 L1-001 Hello World L1-002 打印沙漏 L1-003 个位数统计 L1-004 计算摄氏温度 L1-005 考试座位号 L1-006 连续因子 L1-007 念数字 L1- ...

  4. 天梯赛L1难度总结 + 题目难易分类

    天梯赛L1难度总结 一个月的时间,从 2 月 6 号的<L1-001 Hello World (5 分)>到 3 月 8 号的<L1-080 乘法口诀数列 (20 分)>,一个 ...

  5. 【CCCC】PAT : 团体程序设计天梯赛-练习集 L1 答案

    [CCCC]PAT : 团体程序设计天梯赛-练习集 L1 答案 鉴定完毕,全部水题 ヾ(•ω•`)o 标号 标题 分数 通过数 提交数 通过率 L1-001 Hello World 5 46779 1 ...

  6. 天梯赛刷题小记 —— L1

    最近在重刷 天梯赛,浅浅记录一下,就不管简易程度了 感觉已经很久没有做题了qaq L1-002 打印沙漏 解题思路:循环结构 AC代码: #include <bits/stdc++.h> ...

  7. CCCC GPLT L1

    其实cccc第一档的题在去年的时候就已经刷完了,基本没什么难度,主要的就是手速 记得去年刚刷完题的时候还跻身了前50,不知不觉一年过去了,已经掉出前100了 既然是水题,那就赶紧口胡一波思路,赶紧过了 ...

  8. 什么是L1/L2/L3 Cache?

    什么是L1/L2/L3 Cache? Cache Memory也被称为Cache,是存储器子系统的组成部分,存放着程序经常使用的指令和数据,这就是Cache的传统定义.从广义的角度上看,Cache是快 ...

  9. PyTorch实现L2和L1正则化的方法 | CSDN博文精选

    作者 | pan_jinquan 来源 | CSDN博文精选 目录 1.torch.optim优化器实现L2正则化 2.如何判断正则化作用了模型? 2.1未加入正则化loss和Accuracy 2.1 ...

  10. 机器学习中的L1与L2正则化图解!

    今日锦囊 特征锦囊:今天一起搞懂机器学习里的L1与L2正则化 今天我们来讲讲一个理论知识,也是老生常谈的内容,在模型开发相关岗位中出场率较高的,那就是L1与L2正则化了,这个看似简单却十分重要的概念, ...

最新文章

  1. 计算机系统的基本功能,计算机系统的主要功能是什么
  2. Java 技术篇-linux系统下安装jdk、设置java环境变量实例演示
  3. 第一次CM--CosH.2
  4. 微软大法好不好,终于要对比了
  5. Nacos注册服务都注册在public空间下
  6. VTK:可视化之HideAllActors
  7. c++如何快速写出get set_如何快速写出一篇合格的毕业论文
  8. Redis ZSet 的几种使用场景
  9. ssl登录服务器未响应是什么意思,工行的网上银行在确认转账时网页总是未响应...
  10. “逆鬼”muma企图隐蔽发展 被360独家击杀
  11. oracle中给予权限,Oracle给予用户权限
  12. Few-shot transfer learning for intelligent fault diagnosis of machine(机器智能故障诊断中的小样本迁移学习)
  13. ffmpeg common.mak:159: *** missing separator. Stop.
  14. 八年级作文-断了的弦
  15. vue 四级联动 地址联动 vue级联选择
  16. 每个Java程序员都应该Follow的10个Twitter账号
  17. dockermount与volume的区别
  18. 酒桌上的潜规则,男人必学,女人必知
  19. 电子科技大学计算机与科学学院,电子科技大学计算机科学与工程学院(网络空间安全学院)、资源与环境学院赴我所调研考察...
  20. Direct3D Study

热门文章

  1. [渝粤教育] 西南科技大学 高速铁路线路与车站 在线考试复习资料
  2. [渝粤教育] 西南科技大学 信息法律法规 在线考试复习资料2021版
  3. phpMyAdmin源码配置过程
  4. HDU 6312.Game-博弈-签到题 (2018 Multi-University Training Contest 2 1004)
  5. Android Studio升级到3.0.0后构建项目时出现的问题总结
  6. 判断app访问还是web访问网站
  7. JAVA之列表集合ArrayList
  8. eclipse迅速新建main函数
  9. 109.虚函数与析构构造
  10. 第五篇 CSS入门 明白 三种嵌套形式,三种常用控制器