首页 > 试题广场 >

牛牛的闹钟

[编程题]牛牛的闹钟
  • 热度指数:32388 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
牛牛总是睡过头,所以他定了很多闹钟,只有在闹钟响的时候他才会醒过来并且决定起不起床。从他起床算起他需要X分钟到达教室,上课时间为当天的A时B分,请问他最晚可以什么时间起床

输入描述:
每个输入包含一个测试用例。
每个测试用例的第一行包含一个正整数,表示闹钟的数量N(N<=100)。
接下来的N行每行包含两个整数,表示这个闹钟响起的时间为Hi(0<=A<24)时Mi(0<=B<60)分。
接下来的一行包含一个整数,表示从起床算起他需要X(0<=X<=100)分钟到达教室。
接下来的一行包含两个整数,表示上课时间为A(0<=A<24)时B(0<=B<60)分。
数据保证至少有一个闹钟可以让牛牛及时到达教室。


输出描述:
输出两个整数表示牛牛最晚起床时间。
示例1

输入

3 
5 0 
6 0 
7 0 
59 
6 59

输出

6 0
头像 白伟仝
发表于 2020-07-24 21:55:34
把小时乘60加上分钟,化成一个整数便于比较: import java.util.*; public class Main { public static void main(String[] args) throws Exception{ Scanner sc = new S 展开全文
头像 白色高跟鞋
发表于 2020-04-26 21:39:21
更健壮的做法是,应当留意将导致前一天起床的极端输入(尽管本题约束此类情况不会发生)。python 20行可解决。 把小时数和分钟数直接化成用分钟计时;遍历闹钟组,选出不会导致迟到的闹钟,筛选最晚的闹钟即可。【复杂度O(n)】 # 做一个一天72小时的虚拟,即所有时钟全部加24小时,直接覆盖昨今明三天 展开全文
头像 牛客题解官
发表于 2020-06-04 11:19:57
题目难度:二星考察点:模拟 方法:模拟 分析:按照题意模拟,然后将出现的时间全部转化为数字,上课时间-路上耽误的时间=最晚起床时间,然后根据闹钟的时间早晚找到最晚起床时间,如果将闹钟时间转化为分钟数的值小于等于最晚起床时间转化为的分钟数,那么此时这个闹钟就可以作为起床时间可用,然后找到最晚的闹钟时 展开全文
头像 聪明的河老师在发动态
发表于 2025-04-01 17:32:17
n = int(input()) alarms = [] for _ in range(n): h, m = map(int, input().split()) alarms.append(h * 60 + m) # 转换为分钟 x = int(input()) a, b = m 展开全文
头像 laglangyue
发表于 2020-05-16 20:48:55
遍历闹钟数组,小时转换为分钟,可以再优化,对数组排序。 import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner 展开全文
头像 刷代码的长颈鹿
发表于 2025-02-16 21:23:25
#include <iostream> #include <vector> #include <algorithm> using namespace std; // 定义一个结构体来存储闹钟时间 struct Alarm { int hour; 展开全文
头像 牛客289281343号
发表于 2020-04-20 21:38:11
解题思路:首先将时间点转化成时间段,通过上课时间和通勤时间计算最晚起床时间,排序,找到排在最晚起床时间的前一个值,再转化成时间点即可。import java.util.;public class Main{ public static void main(String arg[]){ 展开全文
头像 xuheding
发表于 2022-09-07 00:57:04
#include<iostream> #include<climits> #include<vector> #include<algorithm> #include<numeric> #include <string> 展开全文

热门推荐

通过挑战的用户

查看代码
牛牛的闹钟