CF1986D.Mathematical Problem

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

你有一个长度 n>1n > 1 的字符串 ss,由数字 00 到 99 组成,你要将 n−2n - 2 个运算符(++ 或 ×\times)插入至 ss 中,形成一个合法的表达式。

很明显,任何一个运算符都不应插入在 s0s_0 前或 sn−1s_{n - 1} 后,因为这样构不成一个合法的表达式。还有一点:字符串中数字的位置不能变。

假设 s=987009s = \tt 987009,可以获得以下几种表达式:

  • $ 9 \times 8 + 70 \times 0 + 9 = 81 $
  • $ 98 \times 7 \times 0 + 0 \times 9 = 0 $
  • $ 9 + 8 + 7 + 0 + 09 = 33 $
    表达式里的数被允许含有前导零,例子中的 0909 可以被转换为 99。

从该字符串中,无法获得以下几种表达式:

  • +9×8×70+09+ 9 \times 8 \times 70 + 09(符号只能放在数字之间)
  • 98×70+0+998 \times 70 + 0 + 9(因为有 66 个数字,所以必须正好有 44 个符号)

输入格式

每个测试由多个测试数据组成。第一行包含一个整数 tt(1≤t≤1041 \leq t \leq 10^4),表示测试数据的数量。

每个测试用例的第一行包含一个整数 n(2≤n≤20)n(2 \leq n \leq 20),表示字符串 ss 的长度。

每个测试用例的第二行包含一个字符串 ss,长度为 nn,由 00 到 99 的数字组成。

输出格式

对于每个测试数据,输出每个合法表达式的最小结果。

输入输出样例

  • 输入#1

    18
    2
    10
    2
    74
    2
    00
    2
    01
    3
    901
    3
    101
    5
    23311
    6
    987009
    7
    1111111
    20
    99999999999999999999
    20
    00000000000000000000
    4
    0212
    18
    057235283621345395
    4
    1112
    20
    19811678487321784121
    4
    1121
    4
    2221
    3
    011

    输出#1

    10
    74
    0
    1
    9
    1
    19
    0
    11
    261
    0
    0
    0
    12
    93
    12
    24
    0

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

首页