题目描述
津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。
输入格式
输入包括 7 行数据,分别表示周一到周日的日程安排。每行包括两个小于 10 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
输出格式
一个数字。如果不会不高兴则输出 0,如果会则输出最不高兴的是周几(用 1,2,3,4,5,6,7 分别表示周一,周二,周三,周四,周五,周六,周日)。如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。
输入输出样例
输入 #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 数据
思路:
首先定义cnt(不开心的天数),ans(上课的小时数)和idx(哪一天最不开心)(输入数据(不用数组也可以),输出之后如果大于8,cnt++,然后cnt和ans比较(注意时间靠前的优先,所以cnt大于ans再换),idx存储是哪一天,最后输出,注意题目要求(没有不开始输出一个0即可)
AC代码(超详细注释):
#include<bits/stdc++.h>//万能头文件
using namespace std;//cin,cout必备
int main()//main主函数
{
int ans=0,cnt=0,idx=0;//初始化ans,cnt,idx
for(int i=1;i<=7;i++)//一周有7天
{
int s,f;//学校上课+补习班
cin >> s >> f;//输入
if(s+f>8)//如果超过8,就不开心
{
cnt++;//天数++
if((s+f)>ans)//如果超过了历史最大时间
{
ans=s+f;//更新ans
idx=i;//最不高兴的一天
}
}
}
if(cnt==0)//如果不会不高兴
{
cout<<0;//输出0
return 0;//可加可不加
}
cout<<idx;//输出最不高兴的一天
return 0;//程序结束
}
这篇博客就到这里啦,我们下篇见(几分钟后见)
创作不易,点个赞吧!(我一天2小时,有一半都在搞这个,剩下时间在洛谷刷题)