ABC242_c 1111gal password
摘要
Title: ABC242_c 1111gal password
Tag: dp、组合数
Memory Limit: 64 MB
Time Limit: 1000 ms
Powered by:NEFU AB-IN
ABC242_c 1111gal password
-
题意
以9位为基数的n位数字的数量,相邻数字相差一个或更少。
比如 n = 2, 则11 12 21 22 23 32 33 34 43 44 45 54 55 56 65 66 67 76 77 78 87 88 89 98 99
共25个 -
思路
即可,表示前位,第位为的情况的数量
递推式就为那么就是答案
-
代码
ps: 比 要慢很多很多
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20'''
Author: NEFU AB-IN
Date: 2022-03-06 10:46:17
FilePath: \ACM\AtCoder\abc242\c.py
LastEditTime: 2022-03-06 10:46:18
'''
N = int(1e6 + 10)
MOD = 998244353
dp = [[0] * 12 for _ in range(N)]
for i in range(1, 10):
dp[1][i] = 1
n = int(input())
for i in range(2, n + 1):
for j in range(1, 10):
dp[i][j] = (dp[i - 1][j - 1] + dp[i - 1][j] + dp[i - 1][j + 1]) % MOD
print(sum(dp[n]) % MOD)