Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define MOD 1000000007
- using namespace std;
- int dp[105][20], n, i, nou[20], j, s;
- int main()
- {
- cin>>n;
- for(i=1;i<=16;i++)
- dp[2][i]=1;
- for(i=3;i<=n;i++)
- {
- ///magic begins
- nou[1]=nou[3]=nou[2]=nou[4]=dp[i-1][1]+dp[i-1][5]+dp[i-1][9]+dp[i-1][13];
- nou[2]-=dp[i-1][9];
- ///
- nou[5]=nou[6]=nou[7]=nou[8]=dp[i-1][2]+dp[i-1][6]+dp[i-1][10]+dp[i-1][14];
- nou[7]-=dp[i-1][2];
- ///
- nou[9]=nou[10]=nou[11]=nou[12]=dp[i-1][3]+dp[i-1][7]+dp[i-1][11]+dp[i-1][15];
- nou[10]-=dp[i-1][3];
- ///
- nou[13]=nou[14]=nou[15]=nou[16]=dp[i-1][4]+dp[i-1][8]+dp[i-1][12]+dp[i-1][16];
- for(j=1;j<=16;j++)
- {
- cout<<nou[j]<<' ';
- dp[i][j]=nou[j]%MOD;
- }
- cout<<'\n';
- }
- for(i=1;i<=16;i++)
- s=(s+dp[n][i])%MOD;
- if(s<0)
- cout<<s+MOD;
- else cout<<s;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement