题解 P1085 【不高兴的津津】

· · 题解

emmmmmm......基本上就是这样的,首先,我的思路很简单,在录入数据之后先判断有没有上课时长大于八小时的,没有的话就直接输出0然后就return了,有的话在设置一个基准数,并且每次增加一,直到没有那一天的总上课时间比它大为止,然后在把基准数减一(因为减一之前的基准数是比七天中最大的数还要大一的),然后再把上课时间等于基准数的那一天输出就OK了

# #include <stdio.h>
# #include <stdlib.h>
int main()
{
    int p,q,i,j=0,a[8],b[8];
    for (i=1;i<=7;i++)
        scanf ("%d %d",&a[i],&b[i]);
    int c[8];
    for (i=1;i<=7;i++)
        c[i]=a[i]+b[i];
    int d[8];
    for (i=1;i<=7;i++)
    {
        if (c[i]>=8)
            j++;
    }
        if (j==0)
            {printf ("0"); return 0;}
    int r=0,s=9;
    while (1)
    {
        for (i=1;i<=7;i++)
        {
            if (c[i]>=s)
                r++;
        }
        if (r==0)
            break;
        s++;
        r=0;
    }
    s--;
    for (i=1;i<=7;i++)
        if (c[i]==s)
        {printf ("%d",i); break;}
    return 0;
}