题目内容:
有排成一行的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;
}