算法训练 K好数

K好数

/*****不难的动态规划******/
#include<iostream>
#include<string.h>
using namespace std;
int main(){
	int k, l;
	int dp[105][105];
	cin>>k>>l;
	memset(dp, 0, sizeof(dp));
	for(int i=1; i<k; i++)
		dp[1][i]=1;
	for(int i=2; i<=l; i++)
		for(int j=0; j<k; j++)
			for(int y=0; y<k; y++)
				if(y!=j+1&&y!=j-1){
					dp[i][j]+=dp[i-1][y];
					dp[i][j]%=1000000007;
				}
	long long sum=0;
	for(int i=0; i<k; i++)
		sum+=dp[l][i];
	cout<<sum%1000000007<<endl;
	return 0;
}
原文地址:https://www.cnblogs.com/A-Little-Nut/p/10371150.html