CCCPaste

Untitled

class Solution{
    public:
    typedef long long ll;
    
    long long countWays(int n, ll k){
    
        vector dp(n + 1);
        dp[1] = k;
        dp[2] = (k * k);
        const ll MOD = 1e9 + 7;
        for(int i = 3; i <= n; i++) {
            dp[i] = (((dp[i - 1] + dp[i - 2]) % MOD) * ((k - 1) % MOD)) % MOD;
        }
        return dp[n] % MOD;
    }
};