priyam2k

Untitled

Sep 9th, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.54 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. long long int dp[100005][2];
  4. long long int mod=1e9+7;
  5. int main() {
  6.     int t;
  7.     cin>>t;
  8.     while(t--){
  9.         int n,k;
  10.         cin>>n>>k;
  11.         char c[30];
  12.         for(int i=0;i<k;i++)
  13.             cin>>c[i];
  14.         dp[0][0]=k;
  15.         for(int i=1;i<n;i++) {
  16.             if( i % 2 == 0){
  17.                 dp[i][0] = ( ( dp[i-1][0] * ( k - 1) ) % mod +  ( dp[i-1][1] * k) % mod) % mod;
  18.             }
  19.             else {
  20.                 dp[i][0] = (dp[i-1][0] * (k-1)) % mod;
  21.                 dp[i][1] = (dp[i-1][0] * (26-k)) % mod;
  22.             }
  23.         }  
  24.         cout << (dp[n-1][0] + dp[n-1][1])%mod << endl;
  25.     }
  26. }
Add Comment
Please, Sign In to add comment