入冬日

时间限制: 1000 ms 内存限制: 65536 kb
总通过人数: 108 总提交人数: 140
Special Judge

题目描述

气象学上常采用“滑标”的方法判断季节的变化,方法如下:

首先先求出每一天的 “日平均气温” ,然后从这些日期中的第五天开始,计算每一天的“ $5$ 天滑动均值”,即选取这一天以及这一天之前的 $4$ 天构成一个共 $5$ 天的“滑动组”,求出平均值,将这个平均值记为这一天的“ $5$ 天滑动均值”。

当出现连续 $5$ 个低于 $10$ 的“ $5$ 天滑动均值”时,即判断“入冬成功”,并从这其中的第一个“滑动组”中,找到其中第一个“日平均气温”低于 $10$ 的天数,并将这一天称为 “入冬日”。

输入

多组数据输入,每组数据两行。

第一行为总天数 $n$ ;

第二行, $n$ 个保留了一位小数的浮点数 $t$,表示过去 $n$ 天的 日平均气温 ,保证第 $1$ 天的气温高于 $10$ 度。

保证 $12\le n \le 100, -50\le t \le 50$ ,判断组数不超过 $100$ 组。

输出

对于每组数据,输出一行。

若入冬成功,则输出一个字符串 Success ,然后空一格,输出“入冬日”所在的天数。

若入冬失败,则输出一个字符串 Failure

输入样例

14
12.5 10.9 9.9 7.8 9.5 7.8 8.9 11.8 10.8 10.9 15.2 14.5 14.8 9.4
15
11.5 11.9 12.7 9.9 10.2 8.0 8.0 9.6 9.8 10.8 11.2 9.4 9.8 12.8 11.1

输出样例

Failure
Success 4

样例解释

对于第二组数据:

第5天的 5天滑动均值 为 $\dfrac{11.5+11.9+12.7+9.9+10.2}{5}=11.24\ge10$ ;

第6天的 5天滑动均值 为 $\dfrac{11.9+12.7+9.9+10.2+8.0}{5}=10.54\ge10$ ;

第7天的 5天滑动均值 为 $\dfrac{12.7+9.9+10.2+8.0+8.0}{5}=9.76<10$ ;

第8天的 5天滑动均值 为 $\dfrac{9.9+10.2+8.0+8.0+9.6}{5}=9.14<10$ ;

第9天的 5天滑动均值 为 $\dfrac{10.2+8.0+8.0+9.6+9.8}{5}=9.12<10$ ;

第10天的 5天滑动均值 为 $\dfrac{8.0+8.0+9.6+9.8+10.8}{5}=9.24<10$ ;

第11天的 5天滑动均值 为 $\dfrac{8.0+9.6+9.8+10.8+11.2}{5}=9.88<10$,满足“连续5个”的条件 。

所以应从第 3 天开始回溯,找到第一个低于 10 度的日期为第 4 天,找到结果。

Bug 代码

#include<stdio.h>
#include<string.h>
int main()
{
    int n,cnt=0,flag=0;
    double t[110],sum[110];
    while(~scanf("%d",&n))
    {
        for(int i=1;i<=n;i++)
            scanf("%lf",&t[i]);
        memset(sum,0,sizeof(sum));
        for(int i=1;i<=5;i++)
            sum[4]+=t[i];
        for(int i=1;i<=n;i++)
        {
            sum[i]=sum[i-1]-t[i-4]+t[i];
            if(sum[i]<50.0)
                cnt++;
            if(cnt>=5)
            {
                flag=1;
                for(int j=i-9;j<=i;j++)
                    if(t[j]<10.0)
                        printf("Sucsess %d\n",j);
                break;
            }
        }
        if(flag)
            printf("Failure\n");
    }
    return 0;
}

参考文献

国家标准 GB/T 42074-2022 气候季节划分

Author:某咸鱼同学

Code: Wh04m1

相关推荐