题解:洛谷 P1085 [NOIP 2004 普及组] 不高兴的津津

【题目来源】

洛谷:[P1085 NOIP 2004 普及组] 不高兴的津津 - 洛谷 (luogu.com.cn)

【题目描述】

津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。

【输入】

输入包括 \(7\) 行数据,分别表示周一到周日的日程安排。每行包括两个小于 \(10\) 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。

【输出】

一个数字。如果不会不高兴则输出 \(0\),如果会则输出最不高兴的是周几(用 \(1,2,3,4,5,6,7\) 分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。

【输入样例】

5 3
6 2
7 2
5 3
5 4
0 4
0 6

【输出样例】

3

【算法标签】

《洛谷 P1085 不高兴的津津》 #枚举# #NOIP普及组# #2004#

【代码详解】

#include <bits/stdc++.h>  // 包含标准库头文件
using namespace std;

int main()
{
    int a, b, max = 0, ans = 0;  // a:上课时间,b:课外时间,max:最大总时间,ans:最不高兴的日期
  
    // 遍历一周7天
    for (int i = 1; i <= 7; i++) {
        cin >> a >> b;  // 输入当天的上课时间和课外时间
      
        // 检查当天总时间是否超过8小时
        if (a + b > 8) {
            // 如果比之前记录的最大值更大,更新最大值和日期
            if (a + b > max) {
                max = a + b;  // 更新最大总时间
                ans = i;      // 记录当前日期
            }
        }
    }
  
    // 输出最不高兴的日期(如果没有超过8小时的则输出0)
    cout << ans;
  
    return 0;
}

【运行结果】

5 3
6 2
7 2
5 3
5 4
0 4
0 6
3
posted @ 2026-02-16 08:17  团爸讲算法  阅读(7)  评论(0)    收藏  举报