POJ 2656 Unhappy Jinjin(我的水题之路——不开心的学习日)

Unhappy Jinjin
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 8985 Accepted: 6619

Description

Jinjin is a junior school student. Besides the classes in school, Jinjin's mother also arranges some supplementary classes for her. However, if Jinjin studies for more than eight hours a day, she will be unhappy on that day. On any day she gets unhappy, the more time she studies, the unhappier she will be. Now we got Jinjin's class schedule for the next several days and your task is to find out whether she will be unhappy on these days; if she will be unhappy, on which day she will be the unhappiest.

Input

There may be several test cases. In the first line of each test case, there is an integer N (1 <= N <= 7), which represents the number of days you should analyze. Then there comes N lines, each contains two non-negative integers (each smaller than 10). The first integer represents how many hours Jinjin studies at school on the day, and the second represents how many hours she studies in the supplementary classes on the same day. 

A case with N = 0 indicates the end of the input, and this case should not be processed.

Output

For each test case, output a line contains a single integer. If Jinjin will always be happy, the integer should be 0; otherwise, the integer should be a positive integer K, which means that Jinjin will be the unhappiest on the K-th day. If the unhappiest day is not unique, just output the earliest one among these unhappiest days.

Sample Input

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

Sample Output

3
0

Hint

Here is a sample solution of this problem using C language: 
#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


Jinjin要学习N天,学习时间分为学校时间和补课时间,如果Jinjin某天学习了超过八小时(>= 8),则Jinjin会不开心,如果他有过不开心,那么求他学习时间最长的一天(从1开始),如果有几天学习时间都最长,则输出最早的一天;如果Jinjin学习时间小于等于八小时,则输出0。

模拟。

代码(1AC):
#include <cstdio>
#include <cstdlib>
#include <cstring>

int main(void){
    int i, days;
    int max;
    int first, second;
    int flag;

    while (scanf("%d", &days), days != 0){
        max = -1;
        flag = 0;
        for (i = 0; i < days; i++){
            scanf("%d%d", &first, &second);
            if (first + second > 8 && max < first + second){
                flag = i + 1;
                max = first + second;
            }
        }
        printf("%d\n", flag);
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值