题目来源:NOIP2004普及组
时间限制:\(1000ms\) 内存限制:\(128mb\)
题目描述
津津上初中了。
妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。
另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。
但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。
假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。
请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。
输入格式
输入文件包括七行数据,分别表示周一到周日的日程安排。
每行包括两个小于10的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。
输出格式
输出文件包括一行,这一行只包含一个数字。
如果不会不高兴则输出0,如果会则输出最不高兴的是周几(用1, 2, 3, 4, 5, 6, 7分别表示周一,周二,周三,周四,周五,周六,周日)。
如果有两天或两天以上不高兴的程度相当,则输出时间最靠前的一天。
样例输入
5 3
6 2
7 2
5 3
5 4
0 4
0 6
样例输出
3
解题思路
将输入的数据用数组 int[] a = new int[7]
储存, 用于表示从周1到周日,7天的上课时间。数组内每一个元素表示每一天的时间总和,即:学校上课时间+课外复习班时间。
遍历整个数组,输出值最大的一项所对应的下标(1-7),如果有多个最大值,则输出下标最小的一项。数组下标 \(i\) 是从 \(0-6\) ,输出的时候输出 \(i+1\) 。
解题代码-Java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] a = new int[7];
for (int i = 0; i < 7; i++) {
a[i] = input.nextInt() + input.nextInt();
}
input.close();
int ans = 0, maxValue = Integer.MIN_VALUE;
for (int i = 0; i < 7; i++) {
if (maxValue < a[i]) {
maxValue = a[i];
ans = i + 1;
}
}
System.out.println(ans);
}
}