正文 第六十四章 最短编排

最新网址:www.88106.info
88106推荐各位书友阅读:编程之战正文 第六十四章 最短编排
(88106 www.88106.info)从动物园回到任务中心,杨成抽取了一个随机任务。

    在一家颇有规模的幼儿园里,他认识了一位李老师。

    李老师很年轻,很美,她脸上总是带着和煦的微笑,对孩子们既有耐心又很关爱,她说:“孩子们的欢声笑语是我最喜欢的音乐”。

    临近年末了,李老师打算组织一场活动,将孩子们分组,编排一些节目给家长们看。

    “成哥,能不能帮帮我”,李老师眨巴着眼睛看着杨成。

    “请说”,杨成对于这样一位心地善良的老师很有好感。

    “是这样的,我得将孩子们编排分组,因为节目的需要,每一组的人数都必须是连续的数字”。

    “拿我现在带的班来说,有14个孩子”。

    “可以这样分组:”

    “第一组5个,第二组4个,第三组3个,第四组2个,这样5,4,3,2都是连续的数字”。

    “分的组数尽可能越少越好,这样可以减少编排时间”。

    “我们园区还有几十个班等着分组,所以我才求助于你的”。

    “没问题,李老师,你先去带孩子吧,等我想好了再来告诉你”,说着,杨成在园外踱起了步。

    这个问题得先做一些基础的数据测试,再来观察规律。

    像孩子数量为17,19,21....这样的奇数,都可以分成2组,因为奇数都可以拆成2个连续数字之和。

    比如17可以分成8和9两组,而且组数为2显然是最少的分法。

    那么如果孩子数量为偶数的情况呢?

    可以采用穷举法。

    假如一个班有12个孩子,穷举法如下所示:

    从1开始,1+2+3+4+5=15,超过了12,显然不行,跳过。

    从2开始,2+3+4+5=14,还是超过了12,跳过。

    从3开始,3+4+5=12,正好为12,可以算作一种分法,但组数3不一定是最少的分法。

    从4开始,4+5+6=15,超过了12,跳过。

    ......

    最后得到结果:

    第一组3个孩子。

    第二组4个孩子。

    第三组5个孩子。

    一共有3组。

    一般的偶数情况都可以用这个方法求解,但有一些情况是无解的。

    比如说,如果一个班有16个孩子,那么不管怎么分,都得不到连续的分法。

    穷举法的确有效率问题,但对于这个问题的应用,还是能够应付的。

    “李老师,有办法啦”,杨成轻声呼唤道。88106 www.88106.info
如果您中途有事离开,请按CTRL+D键保存当前页面至收藏夹,以便以后接着观看!
最新网址:www.88106.info

如果您喜欢,请点击这里把《编程之战》加入书架,方便以后阅读编程之战最新章节更新连载
如果你对《编程之战》有什么建议或者评论,请 点击这里 发表。