AT_ttpc2019_l.多項式の零点の個数

通过率:0%

AC君温馨提醒

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

题目描述

现给定一个表示多项式 $ f(x) $ 的字符串 $ S 。其中,。其中, S $ 的形式由下述 BNF 规则定义:

<expr> ::= <term> | <expr> "+" <term> | <expr> "-" <term>
<term> ::= <factor> | <term> "*" <factor>
<factor> ::= <value> | <value> "^" <number>
<value> ::= <number> | "x" | "(" <expr> ")"
<number> ::= 大于等于 11 且小于 10910^9 的整数(不含前导零)

其中,各符号表示如下:

  • x: 变量 $ x $
  • +: 加法运算
  • -: 减法运算
  • *: 乘法运算(优先级高于加法和减法)
  • ^: 幂运算(优先级高于加法、减法和乘法)

例如,以下字符串是符合上述规则的表达式:

  • x^2+3*x^1+5
    • 表示多项式 $ f(x) = x^2 + 3 \times x^1 + 5 $
  • 1+2-3+4*5
    • 表示多项式 $ f(x) = 1 + 2 - 3 + 4 \times 5 $
  • ((x^123+1)^456)^789
    • 表示多项式 $ f(x) = \left( \left(x^{123} + 1\right)^{456} \right)^{789} $
  • ((x))
    • 表示多项式 $ f(x) = \left(\left(x\right)\right) $
  • 1^1*1
    • 表示多项式 $ f(x) = 1^1 \times 1 $

以下字符串则不符合上述表达式规则:

  • 2x
  • 0^0
  • 2^x
  • -1
  • 2^(1+2)
  • 1000000000
  • 007

请计算:在  mod 10K\bmod{10^K} 意义下,多项式 $ f(x) $ 的零点数,即满足 $ f(n) \equiv 0 \pmod{10^K} $ 的非负整数 $ n $ 的个数,其中 $ n $ 的范围为 $ 0 $ 至 $ 10^K - 1 $。

输入格式

从标准输入以以下格式读取:

$ K $ $ S $

输出格式

输出一个整数,表示满足 $ f(n) \equiv 0 \pmod{10^K} $ 的 $ 0 $ 至 $ 10^K - 1 $ 的整数 $ n $ 的个数。

输入输出样例

  • 输入#1

    2
    x^2-x

    输出#1

    4
  • 输入#2

    8
    (((x))^234567890*1^1*1+(x^2)^2)

    输出#2

    1000128
  • 输入#3

    9
    50+(2019-x+(x^3-x)^2019)*x^1

    输出#3

    6

说明/提示

  • 所有输入均为整数
  • $ 1 \leq K \leq 9 $
  • $ 1 \leq |S| \leq 100 $

示例解释 1

输入的多项式为 $ f(x) = x^2 - x $。符合条件的 $ n $ 有 0,1,25,760, 1, 25, 76:

  • $ f(0) = 0 $
  • $ f(1) = 0 $
  • $ f(25) = 600 \equiv 0 \pmod{100} $
  • $ f(76) = 5700 \equiv 0 \pmod{100} $

示例解释 2

输入的多项式为 $ f(x) = \left(\left(\left(x\right)\right)^{234567890} \times 1^1 \times 1 + \left(x2\right)2\right) $。

示例解释 3

输入的多项式为 $ f(x) = 50 + \left(2019 - x + \left(x^3 - x\right)^{2019}\right) \times x^1 $。

本翻译由 AI 自动生成

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

首页