题目内容:
有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法。
输入描述
输入正整数n
输出描述
输出结果
输入样例
5
输出样例
30
程序代码
#include<stdio.h>
int fun(int n){
int s=1,i;
if(n==3)
s = 6;
else{
for(i=0;i<=n-2;i++)
s = 2 * s;
s = 3 * s - fun(n - 1); //减去首尾相同颜色的情况
}
return s;
}
int main(){
int n;
scanf("%d",&n);
printf("%d",fun(n));
return 0;
}
本文探讨了一种算法,该算法用于计算特定条件下使用三种颜色(红、粉、绿)涂色的方格序列数量。条件包括相邻方格颜色不同且首尾方格颜色也不能相同。文章提供了一个C语言实现的示例程序。
1531

被折叠的 条评论
为什么被折叠?



