题库练习 数字串拆分
← 上一题 下一题 →

A2244 | 数字串拆分

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

你有一个长度为 $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
C++ 编辑器
输入
输出