되는대로 살자

[C언어 기출문제&풀이] 우울한 진진 본문

2009~2014/C/C++

[C언어 기출문제&풀이] 우울한 진진

malu 2010. 11. 2. 21:37
프로그램 명: jinjin
제한시간: 1 초

진진은 중학생이다.

그는 학교 수업이외 방과후 수업을 듣는다. 진진은 정규수업시간과 방과후 수업시간을 합하여 하루 8 시간 보다 많은 수업을 한다면 그날은 행복하지 않는 날로 여긴다. 수업을 많이 하면 할 수록 행복지수가 낮아 진다.

지금 우리는 진진의 며칠간의 수업 스케줄을 알고 있을 때 이 스케줄로 간다면 그가 행복한 지를 알고자 한다.

입력

첫 수는 날 수 N 이 입력으로 주어진다. ( 1 <= N <= 7) 다음 줄부터 두 개의 수가 주어진다. 첫 번째 숫자는 정상 수업시간 , 두 번째 숫자는 방과후 수업시간이다. 두 수는 10 보다 작고 , 차례대로 첫째날 , 둘째날, ... 이다.

출력

모든 날이 행복하다면 0 을 출력하고 그렇지 않으면 가장 행복하지 않는 날(행복 지수가 가장 낮은 날)을 출력한다.

답이 여러가지인 경우 가장 빠른 날을 출력한다.

입출력 예

입력

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

출력

3

입력

1
4 4

출력

0
출처: NOIP 2004

풀ㅇ ㅣ : 입력으로 주어지는 모든 값을 배열로 저장한 다음 반복문을 통하여 우울한 날인지 확인한다.

소스코드
01 #include <stdio.h>
02   
03 int main()
04 {
05     int n,a[7][2],i,max,count=0;
06     scanf("%d",&n);
07     for(i=0;i<n;i++)
08     {
09         scanf("%d %d",&a[i][0],&a[i][1]);
10         if(i==0) max=a[i][0]+a[i][1];
11         else
12         {
13             if(max<a[i][0]+a[i][1])
14             {
15                 max=a[i][0]+a[i][1];
16                 count=i;
17             }
18         }
19     }
20     if(max<8) printf("0");
21     else printf("%d",count+1);
22 }