loj#P3463. 「WC2021」表达式求值
「WC2021」表达式求值
题目描述
定义二元操作符 <
:对于两个长度都为 的数组 (下标从 到 ),<
的结果也是一个长度为 的数组,记为 。则有 ()。
定义二元操作符 >
:对于两个长度都为 的数组 (下标从 到 ),>
的结果也是一个长度为 的数组,记为 。则有 ()。
现在有 ()个长度均为 的整数数组 。给定一个待计算的表达式 ,其满足 中出现的每个操作数都是 其中之一,且 中只包含 <
和 >
两种操作符(<
和 >
的运算优先级相同),因此该表达式的结果值也将是一个长度为 的数组。
特殊地,表达式 中还可能出现操作符 ?
,它表示该运算符可能是 <
也可能是 >
。因此若表达式中有 个 ?
,则该表达式可生成 个可求确定值的表达式,从而可以得到 个结果值,你的任务就是求出这 个结果值(每个结果都是一个数组)中所有的元素的和。你只需要给出所有元素之和对 取模后的值。
输入格式
第一行两个整数 ,分别表示数组长度与数组个数。
第 行每行 个用空格分隔的整数,第 行第 个元素代表 (,)。
最后一行一个字符串 ,表示表达式 。 中只包含字符 0
到 9
、(
、)
、<
、>
、?
,数字字符表示操作数的下标,例如字符 2
表示表达式中的操作数为 。
输出格式
仅一行一个整数,表示所有 个表达式的结果,它们的元素之和模 的值。
2 3
3 1
2 2
2 3
1>2?0
9
3 3
4 3 2
2 3 1
2 3 3
1?0>2?0
36
5 3
354 321 414 205 257
458 996 554 635 730
681 374 903 966 349
2<0>2<0>(1>2)>(0<0)
4276
样例 4
见附加文件中的 expr4.in
与 expr4.ans
。
数据范围与提示
对于所有测试点:,,,。
每个测试点的具体限制见下表:
测试点编号 | 特殊限制 | ||
---|---|---|---|
中不包含左右括号和问号 | |||
中不包含问号 | |||
中不包含左右括号 | |||
无 | |||
中不包含问号 | |||
无 |