算法训练 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;
}
posted @ 2019-02-13 17:47  A-Little-Nut  阅读(219)  评论(0编辑  收藏  举报