Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define MOD 1000000007
  3. using namespace std;
  4. int dp[105][20], n, i, nou[20], j, s;
  5. int main()
  6. {
  7. cin>>n;
  8. for(i=1;i<=16;i++)
  9. dp[2][i]=1;
  10. for(i=3;i<=n;i++)
  11. {
  12. ///magic begins
  13. nou[1]=nou[3]=nou[2]=nou[4]=dp[i-1][1]+dp[i-1][5]+dp[i-1][9]+dp[i-1][13];
  14. nou[2]-=dp[i-1][9];
  15. ///
  16. nou[5]=nou[6]=nou[7]=nou[8]=dp[i-1][2]+dp[i-1][6]+dp[i-1][10]+dp[i-1][14];
  17. nou[7]-=dp[i-1][2];
  18. ///
  19. nou[9]=nou[10]=nou[11]=nou[12]=dp[i-1][3]+dp[i-1][7]+dp[i-1][11]+dp[i-1][15];
  20. nou[10]-=dp[i-1][3];
  21. ///
  22. nou[13]=nou[14]=nou[15]=nou[16]=dp[i-1][4]+dp[i-1][8]+dp[i-1][12]+dp[i-1][16];
  23. for(j=1;j<=16;j++)
  24. {
  25. cout<<nou[j]<<' ';
  26. dp[i][j]=nou[j]%MOD;
  27. }
  28. cout<<'\n';
  29. }
  30. for(i=1;i<=16;i++)
  31. s=(s+dp[n][i])%MOD;
  32. if(s<0)
  33. cout<<s+MOD;
  34. else cout<<s;
  35. return 0;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement