测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A2244. 数字串拆分

编程题 省选/NOI-

题目描述

你有一个长度为 $n$ 的数字串 $s_0$。

定义 $f(s)$ 为将 $s$ 拆分成若干个 $1 \sim m$ 的数的和的方案数,比如 $m=2$ 时,$f(4)=5$,分别为 $4=1+1+1+1=1+1+2=1+2+1=2+1+1=2+2$。

定义 $g(s)$ 为将 $s$ 这个数字串分割成若干个数字(允许前导 $0$),设他们的和为 $x$,则 $g(s)$ 为所有情况下 $f(x)$ 之和。比如 $g(123)=f(1+2+3)+f(1+23)+f(12+3)+f(123)$。

给定 $s_0$ 和 $m$,求 $g(s)$。

答案对 $998,244,353$ 取模。

输入格式

第一行有一个字符串。代表 $s_0$。

第二行有一个整数,代表 $m$。

输出格式

仅输出一个数表示答案。

输入输出样例

输入 #1
123
3
输出 #1
394608467

说明/提示

#### 数据规模与约定

- 对于 $100\%$ 的数据,保证 $1\le|s_0|\le 500$, $1\le m\le 5$,$s_0$ 中只有数字字符。
上一题 去做题 下一题