涂色问题之 同一排涂三种颜色 Coloring problem

问题:一排n个方块,现有3种颜色,要给这n个方块涂上颜色。要求:相邻方块颜色不同;第一个方块和最后一个方块颜色不同。

思路:

    递推思想。假设给n个方块涂色的问题是f(n)。那么前n-1个方块的涂色问题就是f(n-1)。

    递推关系:

1、假设第n-1块的颜色和第1块不同,那前n-1个方块就是f(n-1)问题。由于第n块的颜色既不能和第n-1块颜色相同,也不能第1块相同,那么第n块只能选择剩下的那种颜色,唯一的一种选法。这时有f(n-1)种情况。

2、假设第n-1块的颜色和第1块是相同的,那知道第n-2块的颜色必定和第1块不同了,那前n-2个方块就是f(n-2)问题。此时,第n块有两种选择,只要颜色和第n-1块的颜色不同即可。这时有2*f(n-2)种情况。

上面两种情况综合起来,就得到了递推关系:  f(n) = f(n-1) + 2*f(n-2)


    初始条件:根据题目的限制,要求n不小于2。f(2) = 6,f(3) = 6。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值