Leetcode-5216 Count Vowels Permutation (sequence number statistical vowels)

 1 typedef long long ll;
 2 typedef pair<int,int> P;
 3 #define _for(i,a,b) for(register int i = (a);i < b;i ++)
 4 #define _rep(i,a,b) for(register int i = (a);i > b;i --)
 5 #define INF 0x3f3f3f3f
 6 #define MOD 1000000007
 7 #define maxn 10003
 8 
 9 class Solution
10 {
11     public:
12         ll dp[5][20003];
13         int countVowelPermutation(int n)
14         {    
15             dp[0][1] = dp[1][1] = dp[2][1] = dp[3][1] = dp[4][1] = 1;
16             _for(i,2,n+1)
17             {
18                 dp[0][i] += dp[1][i-1]+dp[2][i-1]+dp[4][i-1];
19                 dp[1][i] += dp[0][i-1]+dp[2][i-1];
20                 dp[2][i] += dp[1][i-1]+dp[3][i-1];
21                 dp[3][i] += dp[2][i-1];
22                 dp[4][i] += dp[2][i-1]+dp[3][i-1];
23                  _Front (j, 0 , 5 )
 24                      dp [J] [i]% = v;
25              }
 26              int ans = 0 ;
27              _Front (i, 0 , 5 )
 28                  ans + = dp [i] [n], ANS% = v;
29              return ans;
30          }
 31 };

 

Guess you like

Origin www.cnblogs.com/Asurudo/p/11627165.html
Recommended