第六十四章 最短编排

编程之战 程序小猿 480 字 2024-05-17

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

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

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

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

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

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

可以采用穷举法。

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

从1开始,12345=15,超过了12,显然不行,跳过。

从2开始,2345=14,还是超过了12,跳过。

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