[NOIP2004 普及组] 不高兴的津津
题目描述
津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。
输入格式
输入包括7 行数据,分别表示周一到周日的日程安排。每行包括两个小于 10 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
输出格式
一个数字。如果不会不高兴则输出 $0$,如果会则输出最不高兴的是周几(用 $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
提示
代码:#include <stdio.h>
int main(){
int a[7][2];//输入一个数组表述周一到周日的学校和补习班的上课了时间
int b[7];//输入一个数字表示,周一到周日这七天上学时间和补课时间之和
int i;
for(i=0;i<7;i++){//从周一到周日做循环
scanf("%d %d",&a[i][0],&a[i][1]);//在键盘上输入上学时间和补课时间
}
for(i=0;i<7;i++){//从周一到周日做循环
b[i]=a[i][0]+a[i][1];//依次把周一到周日的上学时间和补课时间加起来放入到b[i]这个数组里保存
}
int max=b[0];//设b[i]中的最大值为b[0]
int t=0;
for(i=0;i<7;i++){//从周一到周日做循环
if(b[i]>max){//如果遇到比之前时间大的那天,就可以去更改最大值和你将要输出的天数,当遇到的值和最大值相同的时候,不用改变最大值,同时t存储的就是:如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。
max=b[i];//最长的上学时间和补课时间和为b[i]
t=i;//把i赋值给t
}
}
if(max>8){//如果最大时常大于八小时
printf("%d",t+1);//输出最长时常的那一天
}else{
printf("%d",0);//最大时常都不超过八小时的话,输出0
}
return 0;
}