AT_abc338_g.[ABC338G] evall

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个字符串 SS。SS 的每个字符都是 123456789+* 中的一个字符,SS 的首尾字符都是数字,且 SS 中不会有两个非数字字符相邻。

对于整数对 i, ji,\ j(1≤i≤j≤∣S∣1 \leq i \leq j \leq |S|),定义 $ \mathrm{eval}(S_{i..j}) $ 如下:

  • 如果 SS 的第 ii 个字符和第 jj 个字符都是数字,则 $ \mathrm{eval}(S_{i..j}) $ 是将 SS 的第 ii 个字符到第 jj 个字符(包含两端)作为普通的算式进行计算的结果(* 表示乘法)。例如,若 $S = $ 1+2*151,则 $ \mathrm{eval}(S_{1..6}) = 1 + 2 \times 15 = 31$。
  • 否则,$ \mathrm{eval}(S_{i..j}) = 0 $。

请计算 $ {\displaystyle\sum_{i=1}{|S|}\sum_{j=i}{|S|}\mathrm{eval}(S_{i..j})} $,并对 998244353998244353 取模后输出。

输入格式

输入为一行,包含一个字符串 SS。

输出格式

输出 $ {\displaystyle\sum_{i=1}{|S|}\sum_{j=i}{|S|}\mathrm{eval}(S_{i..j})} $ 对 998244353998244353 取模的结果。

输入输出样例

  • 输入#1

    1+2*34

    输出#1

    197
  • 输入#2

    338*3338*33338*333338+3333338*33333338+333333338

    输出#2

    527930018

说明/提示

限制

  • 1≤∣S∣≤1061 \leq |S| \leq 10^6
  • SS 的每个字符都是 123456789+* 中的一个字符。
  • SS 的首尾字符都是数字。
  • SS 中不会有两个非数字字符相邻。

样例解释 1

$ \mathrm{eval}(S_{i..j}) $ 不为 00 的情况如下:

  • $ \mathrm{eval}(S_{1..1}) = 1 $
  • $ \mathrm{eval}(S_{1..3}) = 1 + 2 = 3 $
  • $ \mathrm{eval}(S_{1..5}) = 1 + 2 \times 3 = 7 $
  • $ \mathrm{eval}(S_{1..6}) = 1 + 2 \times 34 = 69 $
  • $ \mathrm{eval}(S_{3..3}) = 2 $
  • $ \mathrm{eval}(S_{3..5}) = 2 \times 3 = 6 $
  • $ \mathrm{eval}(S_{3..6}) = 2 \times 34 = 68 $
  • $ \mathrm{eval}(S_{5..5}) = 3 $
  • $ \mathrm{eval}(S_{5..6}) = 34 $
  • $ \mathrm{eval}(S_{6..6}) = 4 $

以上结果的总和为 1+3+7+69+2+6+68+3+34+4=1971+3+7+69+2+6+68+3+34+4=197。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页