【题目来源】
https://www.luogu.com.cn/problem/P1085
https://www.acwing.com/problem/content/419/
【题目描述】
津津上初中了,妈妈认为津津应该更加用功学习。所以,津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外,每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是,津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴。如果会的话,哪天最不高兴。
【输入格式】
输入包括 7 行数据,分别表示周一到周日的日程安排。每行包括两个小于 10 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
【输出格式】
一个数字。如果不会不高兴则输出 0,如果会则输出最不高兴的是周几(用 1, 2, 3, 4, 5, 6, 7 分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。
【算法分析】
分析可知,程序的输入是津津一周内每天校内学习和校外学习的时间。
根据输入,可以计算出津津每天的总学习时间。
通过对一周时间的遍历,我们可以计算出津津学习时间最长的那一天。
根据题意,当津津的学习时间超过8小时,津津才会不高兴,并且时间越久就越不高兴。所以,我们将津津在一周内学习时间最长的那天的学习时间和8进行比较。如果比8大,那么那一天就是所求的答案。否则,一周内津津都是开心的。
【算法代码】
#include <bits/stdc++.h>
using namespace std;
int main() {
int xn,xw;
int n=0,tot=0;
for(int i=1; i<=7; i++) {
cin>>xn>>xw;
if(xn+xw>tot) {
tot=xn+xw;
n=i;
}
}
if(tot<=8) n=0;
cout<<n;
return 0;
}
/*
in:
5 3
6 2
7 2
5 3
5 4
0 4
0 6
out:
3
*/
【参考文献】
https://www.luogu.com.cn/problem/P1085
https://blog.csdn.net/xingzhe_666/article/details/101064388
https://www.acwing.com/problem/content/419/