当前位置: 首页 > news >正文

CF1714A Everyone Loves to Sleep 题解

CF1714A Everyone Loves to Sleep 题解

  • 题目
    • 链接
    • 字面描述
      • 题面翻译
        • 题目描述
        • 输入格式
        • 输出格式
        • 样例解释
      • 题目描述
      • 输入格式
      • 输出格式
      • 样例 #1
        • 样例输入 #1
        • 样例输出 #1
  • 代码实现

题目

链接

https://www.luogu.com.cn/problem/CF1714A

字面描述

题面翻译

题目描述

Vlad和其他人一样,非常喜欢睡觉。

Vlad每天都要做 nnn 件事,每件事在特定时间。对于这些事情中的每一件,他都定了一个闹钟,其中第 iii 个在 hih_ihimim_imi 分被触发(0≤hi<24,0≤mi<60)0\le h_i<24,0\le m_i<60)0hi<24,0mi<60

Vlad使用24小时时间格式,所以12:59之后是13:00,23:59后是00:00。

Vlad在H时M分睡觉(0≤H<24,0≤M<600 \le H < 24, 0 \le M < 600H<240M<60)。

他要你回答:在下一个闹钟响之前,他能睡多久。

如果在他上床睡觉的时候有任何闹钟响起,那么他将睡0小时0分钟。

输入格式

输入数据的第一行包含一个整数 ttt (1≤t≤1001 \le t \le 1001t100) — 测试中测试用例的数量。

每组测试用例的第一行包含三个整数 nnn , HHHMMM ($ 1 \le n \le 10, 0 \le H < 24, 0 \le M < 60$) — 闹钟的数量和Vlad上床睡觉的时间。

以下 nnn 行各包含两个数字 hih_ihimim_imi ( 0≤hi<24,0≤mi<600 \le h_i < 24, 0 \le m_i < 600hi<240mi<60) — 每个闹钟响的时间。两个或多个闹钟可以同时响起。描述时间的数字不包含前导零。

输出格式

输出 ttt 行,每行都包含相应测试用例的答案。

作为答案,输出两个数字 - Vlad将分别睡觉的小时数和分钟数。如果在他上床睡觉的时候有任何闹钟响起,答案将是 000\ 00 0

样例解释

对于第一个测试用例,Vlad上床后第一个响的闹钟是8:00的。

对于第二个测试用例,Vlad上床时有闹钟响起。

对于第三个测试用例,Vlad上床后第一个响的闹钟是第二天10:30的。

题目描述

Vlad, like everyone else, loves to sleep very much.

Every day Vlad has to do $ n $ things, each at a certain time. For each of these things, he has an alarm clock set, the $ i $ -th of them is triggered on $ h_i $ hours $ m_i $ minutes every day ( $ 0 \le h_i < 24, 0 \le m_i < 60 $ ). Vlad uses the $ 24 $ -hour time format, so after $ h=12, m=59 $ comes $ h=13, m=0 $ and after $ h=23, m=59 $ comes $ h=0, m=0 $ .

This time Vlad went to bed at $ H $ hours $ M $ minutes ( $ 0 \le H < 24, 0 \le M < 60 $ ) and asks you to answer: how much he will be able to sleep until the next alarm clock.

If any alarm clock rings at the time when he went to bed, then he will sleep for a period of time of length $ 0 $ .

输入格式

The first line of input data contains an integer $ t $ ( $ 1 \le t \le 100 $ ) — the number of test cases in the test.

The first line of the case contains three integers $ n $ , $ H $ and $ M $ ( $ 1 \le n \le 10, 0 \le H < 24, 0 \le M < 60 $ ) — the number of alarms and the time Vlad went to bed.

The following $ n $ lines contain two numbers each $ h_i $ and $ m_i $ ( $ 0 \le h_i < 24, 0 \le m_i < 60 $ ) — the time of the $ i $ alarm. It is acceptable that two or more alarms will trigger at the same time.

Numbers describing time do not contain leading zeros.

输出格式

Output $ t $ lines, each containing the answer to the corresponding test case. As an answer, output two numbers — the number of hours and minutes that Vlad will sleep, respectively. If any alarm clock rings at the time when he went to bed, the answer will be 0 0.

样例 #1

样例输入 #1

3
1 6 13
8 0
3 6 0
12 30
14 45
6 0
2 23 35
20 15
10 30

样例输出 #1

1 47
0 0
10 55

代码实现

一道大模拟题;
最坏时间复杂度为:O(t⋅n⋅1440)≈1e6O(t·n·1440) ≈ 1e6O(tn1440)1e6

#include<bits/stdc++.h> 
using namespace std;const int maxn=100+10;
int t,n,h,m,ansh,ansm;
int a[maxn][2];
int main(){scanf("%d",&t);while(t--){scanf("%d%d%d",&n,&h,&m);for(int i=1;i<=n;i++)scanf("%d%d",&a[i][0],&a[i][1]);ansh=ansm=0; while(1){bool flag=false;for(int i=1;i<=n;i++){if(h==a[i][0]&&m==a[i][1]){printf("%d %d\n",ansh,ansm);flag=true;break;}}if(flag)break;++m;if(m==60)m=0,++h;if(h==24)h=0;++ansm;if(ansm==60)ansm=0,++ansh;if(ansh==24)ansh=0;}}return 0;
}
http://www.lryc.cn/news/9508.html

相关文章:

  • oracle官方下载历史版本JDK版本
  • 双击-jar包无法运行解决方法
  • 程序员的自我修养第七章——动态链接 (下)
  • 蓝桥杯刷题——基础篇(二)
  • PTA L1-049 天梯赛座位分配(详解)
  • Linux部分参数作用讲解
  • Java kafka
  • DBA之路---Stream数据共享同步机制与配置方法
  • CF1790E Vlad and a Pair of Numbers 题解
  • 漏洞预警|Apache Kafka Connect JNDI注入漏洞
  • 企业小程序开发步骤【教你创建小程序】
  • 刚性电路板的特点及与柔性电路板的区别
  • 扫码过磅+车牌识别,内蒙古蒙维过磅实现信息化管理
  • 蒙特卡洛计算圆周率
  • 生物信息场景下的用户需求
  • linux su(switch user)和sudo(superuser do)的区别?(sudo su与su的区别)
  • PostgreSQL的学习心得和知识总结(一百二十三)|深入理解PostgreSQL数据库开源扩展pg_dirtyread的使用场景和实现原理
  • ubuntu清理挖矿病毒
  • 【代码随想录训练营】【Day16】第六章|二叉树|104.二叉树的最大深度|559.n叉树的最大深度|111.二叉树的最小深度|222.完全二叉树的节点个数
  • transformer总结
  • dart flutter入门教程,开发手册 分享
  • 教育舆情监测关键词有哪些,TOOM教育舆情监测系统流程?
  • MySQL高级(一)
  • 如何将Python项目部署到新电脑上运行?
  • JVM和JAVA体系结构
  • (十)、通过云对象修改阅读量+点赞功能的实现【uniapp+uinicloud多用户社区博客实战项目(完整开发文档-从零到完整项目)】
  • 刷力扣的第一天脑子要长出来的感觉(怎么有人大四才开始啊啊啊啊啊啊啊啊啊啊啊啊,又是等成绩的一天,)
  • Nuclei文*件上*传FUZZ POC
  • 完美解决方案-雪花算法ID到前端之后精度丢失问题
  • 工程管理系统源码之高效的工程项目管理软件