L1-043. 阅览室
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. 阅览室相关推荐
- PAT L1 043 阅览室
题目描述: 天梯图书阅览室请你编写一个简单的图书借阅统计程序.当读者借书时,管理员输入书号并按下S键,程序开始计时:当读者还书时,管理员输入书号并按下E键,程序结束计时.书号为不超过1000的正整数. ...
- 团体程序设计天梯赛-练习集-java
java不一定能都过 有星号*的都是我java过不去的 但是代码思路都是对的 如果需要c++的 可以留言 L1 L2 L3 001 Hello World 紧急救援 凑零钱 002 打印沙漏 链表去重 ...
- 天梯赛L1(1-80)
目录 L1-001 Hello World L1-002 打印沙漏 L1-003 个位数统计 L1-004 计算摄氏温度 L1-005 考试座位号 L1-006 连续因子 L1-007 念数字 L1- ...
- 天梯赛L1难度总结 + 题目难易分类
天梯赛L1难度总结 一个月的时间,从 2 月 6 号的<L1-001 Hello World (5 分)>到 3 月 8 号的<L1-080 乘法口诀数列 (20 分)>,一个 ...
- 【CCCC】PAT : 团体程序设计天梯赛-练习集 L1 答案
[CCCC]PAT : 团体程序设计天梯赛-练习集 L1 答案 鉴定完毕,全部水题 ヾ(•ω•`)o 标号 标题 分数 通过数 提交数 通过率 L1-001 Hello World 5 46779 1 ...
- 天梯赛刷题小记 —— L1
最近在重刷 天梯赛,浅浅记录一下,就不管简易程度了 感觉已经很久没有做题了qaq L1-002 打印沙漏 解题思路:循环结构 AC代码: #include <bits/stdc++.h> ...
- CCCC GPLT L1
其实cccc第一档的题在去年的时候就已经刷完了,基本没什么难度,主要的就是手速 记得去年刚刷完题的时候还跻身了前50,不知不觉一年过去了,已经掉出前100了 既然是水题,那就赶紧口胡一波思路,赶紧过了 ...
- 什么是L1/L2/L3 Cache?
什么是L1/L2/L3 Cache? Cache Memory也被称为Cache,是存储器子系统的组成部分,存放着程序经常使用的指令和数据,这就是Cache的传统定义.从广义的角度上看,Cache是快 ...
- PyTorch实现L2和L1正则化的方法 | CSDN博文精选
作者 | pan_jinquan 来源 | CSDN博文精选 目录 1.torch.optim优化器实现L2正则化 2.如何判断正则化作用了模型? 2.1未加入正则化loss和Accuracy 2.1 ...
- 机器学习中的L1与L2正则化图解!
今日锦囊 特征锦囊:今天一起搞懂机器学习里的L1与L2正则化 今天我们来讲讲一个理论知识,也是老生常谈的内容,在模型开发相关岗位中出场率较高的,那就是L1与L2正则化了,这个看似简单却十分重要的概念, ...
最新文章
- 计算机系统的基本功能,计算机系统的主要功能是什么
- Java 技术篇-linux系统下安装jdk、设置java环境变量实例演示
- 第一次CM--CosH.2
- 微软大法好不好,终于要对比了
- Nacos注册服务都注册在public空间下
- VTK:可视化之HideAllActors
- c++如何快速写出get set_如何快速写出一篇合格的毕业论文
- Redis ZSet 的几种使用场景
- ssl登录服务器未响应是什么意思,工行的网上银行在确认转账时网页总是未响应...
- “逆鬼”muma企图隐蔽发展 被360独家击杀
- oracle中给予权限,Oracle给予用户权限
- Few-shot transfer learning for intelligent fault diagnosis of machine(机器智能故障诊断中的小样本迁移学习)
- ffmpeg common.mak:159: *** missing separator. Stop.
- 八年级作文-断了的弦
- vue 四级联动 地址联动 vue级联选择
- 每个Java程序员都应该Follow的10个Twitter账号
- dockermount与volume的区别
- 酒桌上的潜规则,男人必学,女人必知
- 电子科技大学计算机与科学学院,电子科技大学计算机科学与工程学院(网络空间安全学院)、资源与环境学院赴我所调研考察...
- Direct3D Study
热门文章
- [渝粤教育] 西南科技大学 高速铁路线路与车站 在线考试复习资料
- [渝粤教育] 西南科技大学 信息法律法规 在线考试复习资料2021版
- phpMyAdmin源码配置过程
- HDU 6312.Game-博弈-签到题 (2018 Multi-University Training Contest 2 1004)
- Android Studio升级到3.0.0后构建项目时出现的问题总结
- 判断app访问还是web访问网站
- JAVA之列表集合ArrayList
- eclipse迅速新建main函数
- 109.虚函数与析构构造
- 第五篇 CSS入门 明白 三种嵌套形式,三种常用控制器