Link : judge.koreatech.ac.kr/problem.php?id=1057
Python
더보기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
from sys import stdin
num = dict()
num[1] = [2, 4]
num[2] = [1, 3, 5]
num[3] = [2, 6]
num[4] = [1, 5, 7]
num[5] = [2, 4, 6, 8]
num[6] = [3, 5, 9]
num[7] = [4, 8]
num[8] = [5, 7, 9, 0]
num[9] = [6, 8]
num[0] = [8]
dp = [[0 for _ in range(101)] for _ in range(10)]
def solve(number, length):
if length == 1:
return 1
if dp[number][length] != 0:
return dp[number][length]
result = 0
for data in num[number]:
result += solve(data, length - 1)
result %= 1000000007
dp[number][length] = result
return result
test = int(stdin.readline().strip())
for i in range(test):
n = int(stdin.readline().strip())
result = 0
for i in range(10):
result += solve(i, n)
result %= 1000000007
print(result)
|
cs |
FeedBack
cjw.git@gmail.com
'알고리즘 > 소스코드' 카테고리의 다른 글
KOREATECH 1071: 암호 해석 - 오고고 (0) | 2020.12.11 |
---|---|
KOREATECH 1063: 계단 오르기 (0) | 2020.12.11 |
KOREATECH 1056: 화장실 타일 채우기 (0) | 2020.12.11 |
KOREATECH 1055: 판채우기 (0) | 2020.12.11 |
KOREATECH 1047: 몇 가지 음악을 듣고 있을까 (0) | 2020.12.11 |
댓글