便宜上マス目を 0-index で考え、以下マス目を 0,1N10, 1 \dots N-1 とします。 この問題は次のような DP で解くことができます。

dp[i][j]=idp[i][j] = i ターン目にマス目 jj にたどり着ける通り数

初期値を dp[0][0]=1dp[0][0] = 1 とし、ここから各マスへの遷移を考えていきます。 移動できるのは 161 ~ 6 マス、かつマス目は環状になっている為、 dp[i][j]dp[i][j] に対して、

dp[i+1][(j+k)modN]+=dp[i][j](1k6)dp[i+1][(j+k)\bmod N] += dp[i][j](1 \le k \le 6)

と遷移することができます。 知りたかったのは TT ターン後にマス目 00 にいる通り数なので、dp[T][0]dp[T][0] が答えになります。 計算量は O(TN)O(TN) です。

C++
Python