当前你的浏览器版本过低,网站已在兼容模式下运行,兼容模式仅提供最小功能支持,网站样式可能显示不正常。
请尽快升级浏览器以体验网站在线编辑、在线运行等功能。

建议使用的浏览器:

谷歌Chrome 火狐Firefox Opera浏览器 微软Edge浏览器 QQ浏览器 360浏览器 傲游浏览器

7098:Add or Multiply 2

题目描述
前两段和第二题相同,但你不需要阅读第二题就可以完成这个题目。

你有一个数字 $x$ 和若干个操作,每个操作是 $+a_i$ 或者乘 $\times a_i$ 中的一种。你可以重新排列这些操作的顺序,然后对数字 $x$ 执行这些操作。

比如说三个操作是 $+a_1, +a_2, \times a_3$。如果按顺序执行这三个操作,那么得到的结果是 $((x+a_1)+a_2) \times a_3$。如果排列成 $+a_2, \times a_3, +a_1$,那么得到的结果是 $((x+a_2) \times a_3)+a_1$。

令 $P=10^9+7$。给定数字 $x$ 和 $n$ 个操作,想知道我们将这些操作重新排列之后,得到的结果对 $P$ 取余之后得到最小值是多少。
输入解释
本题有多组测试数据。

第一行一个整数 $T(1 \leq T \leq 1000)$ 表示数据组数。

对于每组数据,第一行两个整数 $n, x(1\leq n\leq 10, 0\leq x \le P)$。接下来 $n$ 行,每行包含一个运算符和数字 $a_i(0\leq x \le P)$,数字和运算符之间用空格隔开。

在测试数据中,保证 $n=10$,$x, a_i$ 在 $[0, P-1]$ 之间独立均匀随机,运算符在`+, *` 这两种里面随机。
输出解释
对于每组数据输出一行,表示答案。
输入样例
1
10 671872738
* 683201291
* 250712304
+ 559804065
+ 329491176
+ 948072486
+ 821736719
+ 67290733
+ 947904529
+ 962738511
* 712203548
输出样例
7712

该题目是Virtual Judge题目,来自 杭电HDUOJ

源链接: HDU-7098

最后修改于 2021-10-23T19:11:25+00:00 由爬虫自动更新

共提交 2

通过率 0.0%
时间上限 内存上限
8000/4000MS(Java/Others) 131072/131072K(Java/Others)