不高興的小明

題目鏈接http://acm.nyist.net/JudgeOnline/problem.php?pid=53

描述

   小明又出問題了。媽媽認爲聰明的小明應該更加用功學習而變的更加厲害,所以小明除了上學之外,還要參加媽媽爲他報名的各科複習班。另外每週媽媽還會送他去學習朗誦、舞蹈和鋼琴。但是小明如果一天上課超過八個小時就會不高興,而且,上得越久就會越不高興。假設小明不會因爲其它事不高興,並且她的不高興不會持續到第二天。請你幫忙檢查一下小明下週的日程安排,看看下週他會不會不高興;如果會的話,哪天最不高興。
輸入
第一行輸入N(0<N<100)表示測試數據組數,接下來每組測試數據輸入包括七行數據,分別表示週一到週日的日程安排。每行包括兩個小於10的非負整數,用空格隔開,分別表示津津在學校上課的時間和媽媽安排她上課的時間。 
輸出
每組測試數據輸出包括一行,這一行只包含一個數字。如果不會不高興則輸出0,如果會則輸出最不高興的是周幾(用1,2,3,4,5,6,7分別表示週一,週二,週三,週四,週五,週六,週日)。如果有兩天或兩天以上不高興的程度相當,則輸出時間最靠前的—天。
樣例輸入
1
5 3
6 2
7 2
5 3
5 4
0 4
0 6
樣例輸出
3
#include<stdio.h>
#include<algorithm>
using namespace std;
struct N
{
    int day;
    int sum;
} p[99];
int cmp(N a,N b)
{
    return a.sum<b.sum;
}
int main()
{
    int n,x,y;
    scanf("%d",&n);
    while(n--)
    {
        for(int i=1; i<=7; i++)
        {
            scanf("%d%d",&x,&y);
            p[i].sum=x+y;
            p[i].day=i;
        }
        sort(p,p+7,cmp);
        int maxn=-1;
        int w;
        for(int i=1; i<=7; i++)
        {
            if(p[i].sum>maxn)
            {
                maxn=p[i].sum;
                w=i;
            }
        }
        if(maxn>8)
            printf("%d\n",p[w].day);
        else
            printf("0\n");
    }
}
法2
#include<iostream>
#include<string.h>
#include<stdio.h>
#include<ctype.h>
#include<algorithm>
#include<stack>
#include<queue>
#include<set>
#include<math.h>
#include<vector>
#include<deque>
#include<list>
using namespace std;
int main()
{
    int a[7],b[7],m,n,c[7],i,k=0;
    scanf("%d",&n);
    while(n--)
    {
        k=0;
        memset(c,0,sizeof(c));
        for(i=1;i<=7;i++)
        {
            scanf("%d%d",&a[i],&b[i]);
            c[i]=a[i]+b[i];
        }
        int max=-1;
        for(i=1;i<=7;i++)
        {
            if(max<c[i])
            {
                max=c[i];
                k=i;
            }
        }
        if(max>8)
        printf("%d\n",k);
        else
        printf("0\n");
    }
    return 0;
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章