CF1051E Vasya and Big Integers

题目描述

Vasya 拥有三个大整数 $a, l, r$。我们定义 $x$ 的一种划分为一组字符串序列 $s_1, s_2, \dots, s_k$,使得 $s_1 + s_2 + \dots + s_k = x$,其中 $+$ 表示字符串的拼接。$s_i$ 是划分中的第 $i$ 个元素。例如,数字 $12345$ 有如下划分方式:\["1", "2", "3", "4", "5"\],\["123", "4", "5"\],\["1", "2345"\],\["12345"\],以及许多其他方式。 我们称 $a$ 的某种划分为“美丽的”,如果其每个元素都不包含前导零。 Vasya 想知道,$a$ 的美丽划分中,有多少种划分使得每个 $s_i$ 都满足 $l \le s_i \le r$。注意,这里的比较是整数比较,而不是字符串比较。 请你帮助 Vasya 计算满足所有要求的划分数量。由于结果可能非常大,请输出对 $998244353$ 取模后的结果。

输入格式

第一行包含一个整数 $a$,$1 \le a \le 10^{1000000}$。 第二行包含一个整数 $l$,$0 \le l \le 10^{1000000}$。 第三行包含一个整数 $r$,$0 \le r \le 10^{1000000}$。 保证 $l \le r$。 同时保证 $a, l, r$ 都不包含前导零。

输出格式

输出一个整数,表示满足所有要求的划分数量,对 $998244353$ 取模。

说明/提示

在第一个测试用例中,有两种合法划分方式:$13+5$ 和 $1+3+5$。 在第二个测试用例中,有一种合法划分方式:$1+0+0+0+0$。 由 ChatGPT 4.1 翻译