[NOIP2004 普及组] 不高兴的津津
题目描述
津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。
输入格式
输入包括 7 7 7 行数据,分别表示周一到周日的日程安排。每行包括两个小于 10 10 10 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
输出格式
一个数字。如果不会不高兴则输出 0 0 0,如果会则输出最不高兴的是周几(用 1 , 2 , 3 , 4 , 5 , 6 , 7 1, 2, 3, 4, 5, 6, 7 1,2,3,4,5,6,7 分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。
样例 #1
样例输入 #1
5 3
6 2
7 2
5 3
5 4
0 4
0 6
样例输出 #1
3
提示
NOIP2004 普及组第 1 题
- 2021-10-27:增加一组 hack 数据
- 2022-06-05:又增加一组 hack 数据
【解题思路】
- 题目要求判断津津每天的学习时间是否超过8小时,如果超过就会不高兴
- 需要找出最不高兴的一天(学习时间最长的一天)
- 如果有多天学习时间相同且都最长,输出最早的一天
- 如果没有任何一天超过8小时,输出0
【代码实现】
#include <iostream>
using namespace std;
int main() {
int school, extra; // 学校时间和额外补课时间
int maxTime = 0; // 记录最长时间
int unhappyDay = 0;// 记录最不高兴的天数
// 循环7天
for(int day = 1; day <= 7; day++) {
cin >> school >> extra;
int totalTime = school + extra; // 计算当天总时间
// 如果当天时间超过8小时
if(totalTime > 8) {
// 如果当天时间比之前记录的最长时间还要长
if(totalTime > maxTime) {
maxTime = totalTime;
unhappyDay = day;
}
}
}
// 输出结果
cout << unhappyDay << endl;
return 0;
}