分配糖果程序

本文介绍了一个关于分配糖果的编程问题,涉及到数组、循环和条件判断等基础算法概念。主要内容包括输入数据的处理、分配规则的实现以及输出结果的计算。通过实例代码展示了解决方案。

欢乐暑假线上编程比赛第四题:分配糖果

题目详情:

有n个小朋友站成一排(编号从0到n-1),每个小朋友有一个rating值,存放在ratings数组中。老师需要给他们分配糖果,每个小朋友至少需要一颗糖果,对于任意相邻的两个小朋友i和i+1,rating值大的必须比rating值小的分配的糖果多(rating相同的没必要分配一样多的糖果)。

请计算最少需要多少颗糖果,才能完成上述分配。

输入格式:

多组数据,每组数据第一行是一个正整数n。

接下来n行,每行有1个正整数,表示每个小朋友的rating值。所有整数都不超过100000。

输出格式:

每组数据一行,包括一个正整数,表示做少需要的糖果数。



答题说明:

输入样例

3

1

2

2

输出样例:

4


我的程序如下:

#include "stdio.h"
#define N 100000
long fun(long *,long,long);
main()
{
    long a[N],i,j,n,m,count,temp;
    int flag;
    count = 0;
    flag = 0;
    while(scanf("%ld",&n) != EOF)
    {                                              //input people num
        count = 0;
        for(i=0;i<n;i++)                           //input everyone's rating
        {
           scanf("%ld",&a[i]);
        }

        temp = fun(a,0,n);
        m = temp;
        count += temp;                            //the code above be used to  count the num of first people  

        for(i = 1;i < n-1;i++)
        {
            if(a[i] > a[i-1])
            {
                temp = fun(a,i,n);
                if(m < temp)
                    m = temp;
                else
                    m++;
            }
            else
            {
                temp = fun(a,i,n);
                m = temp;
            }
            count += m;
        }

        if(a[i] > a[i-1])
        {
            m++;
            count += m;
        }
        else
        {
            count++;
        }                                 //count the num of last people
        printf("%d\n",count);
        }

}
long fun(long *a,long xi,long xn)
{
    long i;
    long m;
    m = 1;
    for(i = xi;i < xn -1;i++)
    {
        if(a[i] > a[i+1])
        {
            m ++;
            continue;
        }
        else
            break;
    }
    return m;
}

仅供参考学习,不保证完全正确

糖果MES系统小程序是一款专为糖果生产企业所设计开发的生产管理系统小程序。它通过与企业现有的MES系统进行数据对接,帮助企业实现更高效的糖果生产管理和生产过程监控。 首先,苦糖果MES系统小程序提供了设备监控功能。通过与企业现有的设备连接,实时监测设备的运行状态和生产数据,包括设备的开机时间、停机时间、生产数量等等。这样,企业可以随时查看设备运行状态,及时发现异常情况并进行处理,提高设备的利用率和生产效率。 其次,苦糖果MES系统小程序还提供了生产计划管理功能。企业可以在系统中创建生产计划并安排生产任务,系统会根据设备的状态和产能自动进行任务分配。同时,系统还能按照生产计划的优先级进行任务排序,确保重要订单的优先生产。这样,企业可以更加科学和有序地安排生产计划,提高生产效率。 此外,苦糖果MES系统小程序还提供了生产数据分析功能。系统会自动收集设备和生产过程中的各种数据,并生成相应的报表。企业可以通过这些报表,全面了解生产过程中的各项指标,如生产速度、故障率、产量等等。这样,企业可以及时发现生产中存在的问题,并采取相应的措施进行优化和改进。 总之,苦糖果MES系统小程序通过设备监控、生产计划管理和数据分析等功能,帮助糖果生产企业实现生产过程的精细化管理和优化,提高生产效率和质量,进一步提升企业竞争力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值