fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. using ll = long long;
  5. ll dp[100005][5][2];
  6. int main() {
  7. ll n;
  8. cin>>n;
  9.  
  10. dp[1][1][1]=1;
  11. dp[1][2][0]=1;
  12. dp[1][3][0]=1;
  13. dp[1][4][0]=1;
  14.  
  15.  
  16. for(ll i=2;i<=n ;i++){
  17. dp[i][1][1]=dp[i-1][1][0]+dp[i-1][3][0]+dp[i-1][4][0];
  18. dp[i][1][0]=dp[i-1][1][1]+dp[i-1][3][1]+dp[i-1][4][1];
  19.  
  20. dp[i][2][1]=dp[i-1][2][1]+dp[i-1][4][1];
  21. dp[i][2][0]=dp[i-1][2][0]+dp[i-1][4][0];
  22.  
  23. dp[i][3][1]=dp[i-1][1][1]+dp[i-1][3][1];
  24. dp[i][3][0]=dp[i-1][1][0]+dp[i-1][3][0];
  25.  
  26. dp[i][4][1]=dp[i-1][4][1]+dp[i-1][2][1]+dp[i-1][1][1];
  27. dp[i][4][0]=dp[i-1][4][0]+dp[i-1][2][0]+dp[i-1][1][0];
  28. }
  29.  
  30. cout<<dp[n][1][1]<<"\n";
  31. cout<<(dp[n][1][1] + dp[n][2][1] + dp[n][3][1] + dp[n][4][1]);
  32. return 0;
  33. }
Success #stdin #stdout 0.01s 5288KB
stdin
4
stdout
11
30