洛谷P1085 [NOIP2004 普及组] 不高兴的津津 题解

题目描述

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

输入格式

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

输出格式

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

输入样例

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

输出样例

3

题解

\(x\) 表示最不高兴的那一天,\(y\) 表示最不高兴的那一天上了多少时间课,初始时 \(x=0,y=8\)
循环 \(7\) 次,每次输入两个数 \(a,b\),则 \(a+b\) 即为当天上课总时间。
\(a+b \gt y\),则将 \(x \leftarrow i, y \leftarrow a+b\)
最后输出 \(x\) 即为最不高兴的那一天(同时 \(y\) 是最不高兴的那一天上了多少小时课,因为这里不需要输出 \(y\) 所以就没有输出)。

示例代码:

#include <iostream>
using namespace std;
int main()
{
	int a, b, x = 0, y = 8;
	for (int i = 1; i <= 7; i ++)
	{
		cin >> a >> b;
		if (a+b > y)
		{
			y = a+b;	// 更新最不高兴的那一天的上课小时数 
			x = i;	// 更新最不高兴的那一天 
		}
	}
	cout << x << endl;
	return 0;
}
posted @ 2021-02-06 10:41  quanjun  阅读(2330)  评论(0编辑  收藏  举报