算法訓練 K好數

K好數ios

/*****不難的動態規劃******/
#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;
}
相關文章
相關標籤/搜索