Code:
//环形涂色
#include <iostream>
#include <fstream>
using namespace std;
const int N = 51;
int a[N];
int last;
int first;
int main(){
long long f[N] = {0};
f[1] = 3;
f[2] = 6;
f[3] = 6;
for(int i = 4; i <= 50; ++i){
f[i] = f[i - 2] * 2 + f[i - 1];
}
for(int i = 3; i <= 30; ++i){
cout<<i<<":"<<f[i]<<endl;
}
return 0;
}

本文通过递推算法解决了环形涂色问题,利用C++实现了一个计算不同大小环形结构涂色方案数量的程序。该程序首先初始化基本情况的涂色方案数,然后通过递推公式计算出更大环的涂色方案。
1万+

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



