当前位置:首页>文章 > 

DOTA 四个球的卡尔 技能有几个

DOTA 四个球的卡尔 技能有几个

DOTA 四个球的卡尔 技能有几个

本文核心词:DOTA2

【兴趣使然的不务正业系列】第34期:四个球的卡尔,技能有几个?

原创作品,文/二疯

下午,DOTA2官博转发了一道小米的面试题

出于好奇心,就动手解了一下。

方法一:“穷举法”

先看三个球的卡尔,它的10个技能是怎么来的?

三个球都为一种颜色时,有 3 种

三个球为两种颜色时,三种颜色选两种,为 C(3, 2) = 3 种选择,并且,两种颜色分别有 ABB 和 AAB 两种情况,所以总共有 3 * 2 = 6 种

三个球为三种颜色时,有 1 种

所以,总共有 3 + 6 + 1 = 10 种。

再看四个球的卡尔,它又有多少种呢?

四个球都为一种颜色时,有 4 种

四个球为两种颜色时,四种颜色选两种,为 C(4, 2) = 6 种选择,并且,两种颜色分别有 ABBB、AABB、AAAB 三种情况,所以总共有 6 * 3 = 18 种

四个球为三种颜色时,四种颜色选三种,为 C(4, 3) = 4 种选择,并且,三种颜色分别有 AABC、ABBC、ABCC三种情况,所以总共有 4 * 3 = 12 种

四个球为四种颜色时,有 1 种

所以,总共有 4 + 18 + 12 + 1 = 35 种

方法二:真·穷举法

佩服@BOT_Lu的毅力。。。(图片来自老何微博)

方法三:隔板法

隔板法的例子:将20个大小形状完全相同的小球放入3个不同的盒子,允许有盒子为空,但球必须放完,有多少种不同的方法?

解析:将20个小球分成三组需要两块隔板,因为允许有盒子为空,不符合隔板法的原理,那就人为的再加上3个小球,保证每个盒子都至少分到一个小球,那就符合隔板法的要求了(分完后,再在每组中各去掉一个小球,即满足了题设的要求)。然后就变成待分小球总数为23个,球中间有22个空档,需要在这22个空档里加入2个隔板来分隔为3份,共有C(22,2)= 231 种不同的方法.

在我们知道了隔板法的用法时,将上面题目类比成卡尔三个球时的情况。

将3个大小形状完全相同的小球放入3个不同的技能格(冰、雷、火),允许有技能格为空(可以不含冰或者雷或者火),但球必须放完,有多少种不同的方法?

C(3 + 3 - 1,2) = C(5, 2) = 10 种

然后,再看看四种球时候。

将4个大小形状完全相同的小球放入4个不同的技能格(冰、雷、火、风),允许有技能格为空(可以不含冰或者雷或者火或者风),但球必须放完,有多少种不同的方法?

C(4 + 4 - 1, 3) = C(7, 3) = 35 种

三种方法算出都是35,不过,我也不知道为什么参考答案是48。。。(图片来自老何微博)

希望有大牛可以再看看。。。

好啦,以上就是DOTA 四个球的卡尔 技能有几个全部内容,都看到这里了还不收藏一下??搜索(DOTA2)还能找到更多精彩内容。