SRM484 div1 medium
解説見ました。
Login - TopCoder Wiki
class PuyoPuyo { public: int theCount(int L, int N) { memset(DP,0,sizeof(DP)); DP[0][0]=1; for(int i=0;i<N;i++) { DP[i+1][L-1]=(DP[i+1][L-1]+4*DP[i][0])%1000000007; for(int j=1;j<N;j++) { DP[i+1][j+L-1]=(DP[i+1][j+L-1]+3*DP[i][j])%1000000007; DP[i+1][j-1]=(DP[i+1][j-1]+DP[i][j])%1000000007; } } return DP[N][0]; } };