본문 바로가기

PKU & UVa problems/Translated problem

PKU 2656. Unhappy Jinjin

우울한 Jinjin
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 5645 Accepted: 4199

설명


Jinjin은 초등학생입니다. 학교 수업이 있는데도, Jinjin의 어머니는 그녀가 해야 할 보충수업을 잡았습니다. 그러나 Jinjin은 하루에 8시간을 초과하여 공부하면 그날 우울해집니다. 우울한 날이 되면, 그녀는 공부를 더 하고, 따라서 우울한 정도가 더 심해집니다. 이제 우리는 앞으로 며칠동안 Jinjin의 공부시간을 정해야 하는데, 따라서 당신이 해야 할 일은 그녀가 그 며칠동안 우울해지는지 그렇지 않은지 이고, 만약 우울해진다면 어떤 날이 제일 우울해지는 날일지를 알아내는 것입니다.  

입력

여러 테스트 케이스가 있을 것입니다. 각 테스트 케이스의 첫번째 줄에는 1이상 7이하의 정수 N을 넣는데, 이것은 당신이 분석해야 할 날이 총 몇 일 인가를 나타냅니다. 그 뒤에는 N개의 줄이 오는데, 각 줄은 음이 아니면서 10보다 작거나 같은 정수 2개씩을 포함합니다. 첫번째 정수는 Jinjin이 그날 학교에서 공부한 시간을 나타내고 두번째 정수는 Jinjin이 같은 날 보충 수업으로 공부한 시간을 나타냅니다.

N이 0인 케이스는 입력의 끝을 나타내고, 이 케이스는 계산해서는 안됩니다.

출력


각 테스트 케이스의 출력은 하나의 정수를 포함한 줄로 나타납니다. 만약 Jinjin이 언제나 기분이 좋다면, 정수는 0이 되고, 그렇지 않다면 정수는 양정수 K로 나타나고, 이 K는 K번째 날에 Jinjin이 가장 우울하다는 것을 나타냅니다. 만약 가장 우울한 날이 하루가 아니라면, 가장 우울했던 날들 중 가장 빠른 날의 순서를 K로 나타냅니다.

입력 예시

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

출력 예시

3
0

힌트


C언어를 이용한, 이 문제의 솔루션의 예시:

#include <stdio.h>

int main(){
while(1) {
int i, n;
int maxday, maxvalue = -1;
scanf("%d", &n);
if (n == 0) break;
for (i = 1; i <= n; i++) {
int a, b;
scanf("%d%d", &a, &b);
if (a + b > maxvalue) {
maxvalue = a + b;
maxday = i;
}
}
if (maxvalue <= 8) printf("0\n");
else printf("%d\n", maxday);
}
return 0;
}

Source

NOIP 2004






p.s: 오래간만에 한 번역이라 말투가 이상해졌을 수 있습니다. 철저한 지적 부탁드립니다 (--)(__)(--)
2nd p.s: 이 문제를 어디서 분명히 본 기억이 있는데 번역한 목록에는 없군요. 무슨 조화일까..
3rd p.s: 이제 서서히 시간표에 몸이 적응되어가는 관계로, 곧 자주 뵐 수 있을 것 같습니다. 그간 미진했던 전 사과드립니다 (--)(__)(--)
4th p.s: Mr.K의 의견을 반영, 수정하였습니다.
5th p.s: 이건 몸풀기에요 몸풀기. 

'PKU & UVa problems > Translated problem' 카테고리의 다른 글

PKU 2243. Knight Moves  (2) 2009.05.12
PKU 2840. Big Clock  (0) 2009.05.11
PKU 1163. The Triangle  (1) 2009.04.04
PKU 2039. To and Fro  (3) 2009.03.25
UVa 324. Factorial Frequencies  (6) 2009.03.17