3797: 加法方案(第四轮03)

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:2 解决:2

题目描述

白浅妹妹正在学习加法,但是老师只给了她一个数字 n,她没法对一个数字做加法运算,于 是她从 n   中取出若干个数位(至少  1  个), 然后按照原来的相对顺序拼接组成新一个数字 x,剩余的数位也按原来的相对顺序组成另一个数字 y,将两个数字 x, y  求和。

例如  12345  可以拿出 24,剩下135,求和  24 + 135 =  159。 求所有拆数字的方案的和对 998244353  取模后的结果。

允许把 n   中所有的数位全部取出,此时 n  变成 0。

 

记 n ∈  [10^m−1, 10^m) 。n  从高到低位记为  am−1    到 a0,即 n = am−1am−2  ⋯ a0 。记  S   {0,1,2, ⋯ , m − 1}的子集。每个 S  对应特定的 a   的子序列,即 S = {0,2,3},则 x = a3 a2 a0 。 两个方案不同等价于 S  不同。

大样例:sample.zip

输入

输入包含一行。

第一行输入一个正整数 n。

输出

输出一个数, 即所有拆数字的方案的和对 998244353  取模后的结果。

样例输入 复制

123

样例输出 复制

231

提示

【样例 1 输入】

123

【样例 1 输出】

231

【说明】

 1  个数位: 12 + 3 = 15, 23 + 1 = 24, 13 + 2 = 15

 

 2  个数位: 3 + 12 = 15, 1 + 23 = 24, 2 + 13 = 15

 3  个数位: 0 + 123 = 123 全部求和得到 231

【样例 2 输入】

221

【样例 2 输出】

359

【备注】

- 对于测试点1: 1 ≤ n < 10^100 。

 

- 对于测试点2 ~ 5: 1 ≤ n < 10^1000 。

 

- 对于测试点6 ~ 10: 1 ≤ n < 10^100000 。


来源/分类