import java.util.*;
/**
* NC311 圆环回原点
* @author d3y1
*/
public class Solution {
private final int MOD = 1000000007;
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型
* @return int整型
*/
public int circle (int n) {
return solution(n);
}
/**
* 动态规划
*
* dp[i][j]表示走i步到达点编号j的方法种数
*
* dp[i][j] = dp[i-1][(j-1+10)%10] + dp[i-1][(j+1)%10]
*
* @param n
* @return
*/
private int solution(int n){
int[][] dp = new int[n+1][10];
dp[0][0] = 1;
for(int i=1; i<=n; i++){
for(int j=0; j<=9; j++){
dp[i][j] = (dp[i-1][(j-1+10)%10] + dp[i-1][(j+1)%10]) % MOD;
}
}
return dp[n][0];
}
}