牛牛的闹钟(网易)

在这里插入图片描述
比较简单的题,只需要把时间全部转换为minute,然后求出剩余时间=上课时间-起床时间-路上时间,最后在所有大于等于0的剩余时间里找到最小值,对应的下标就是那个闹钟。

#include<iostream>
using namespace std;
struct node
{
	int hour;
	int minute;
}alarm[105];

int main()
{
	int N;
	cin >> N;
	for (int i = 0; i < N; i++)
		cin >> alarm[i].hour >> alarm[i].minute;
	int time_to_school;
	cin >> time_to_school;
	node class_time;
	cin >> class_time.hour >> class_time.minute;


	int min_index = 0;
	int min = (class_time.hour * 60 + class_time.minute) - (alarm[0].hour * 60 + alarm[0].minute) - time_to_school;
	for (int i = 1; i < N; i++)
	{
		int time_left = (class_time.hour * 60 + class_time.minute) - (alarm[i].hour * 60 + alarm[i].minute) - time_to_school;
		if (time_left >= 0)
		{
			if (time_left < min)
			{
				min = time_left;
				min_index = i;
			}
		}
	}
	cout << alarm[min_index].hour << " " << alarm[min_index].minute << endl;



	system("pause");
	return 0;
}
发布了212 篇原创文章 · 获赞 4 · 访问量 8805

猜你喜欢

转载自blog.csdn.net/ShenHang_/article/details/104514458