有n个柱子,现在要给柱子染色,有k种颜色可以染,求有多少种染色方案

这是 www.lintcode.com 上面的 第514道题

有n个柱子,现在要给柱子染色,有k种颜色可以染,求有多少种染色方案?

题目要求说,不存在超过2个相邻的柱子颜色相同

思路::::

 当 只有 1 个柱子的时候                k 种染色方案

当 有2 个柱子的时候                    k*k 中染色方案

当 有 3 个柱子的时候  分析如下

        情况一: 前两个柱子颜色相同,那么第三个柱子颜色必须与前两个不一样 

                    //      k种可能                               ( k-1) 种可能                   k * ( k-1 )                                                                

        情况二:  前两个柱子颜色不同,那么第三个柱子颜色无所谓  因为题目中是不超过两个连续相同颜色,两个柱子颜色相同是被允许的。 

                      //      k*k  种可能                        ( k-1) 种可能                   k * k * (k-1)

所以  3 个柱子染色方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值