-->
当前位置:首页 > 题库 > 正文内容

编程题:DFS

Luz3年前 (2022-09-05)题库357
一个高质量的算术表达式由括号、数字和乘法和加法运算组成。

质量算术表达式递归定义如下:
*  一个只包含一个小于或等于$$Z1$$的正实数的表达式是好的。这种表达形式如下:
$$ (x)$$
例如,如果$$Z1 = 5$$,则$$(4)$$是一个质量表达式。

*  如果$$A1, A2,…,A k$$是质量表达式,使$$2≤k≤ k$$的和最多为$$Zk$$,则下列表达式是质量良好的:
$$(A1+A2+...+Ak) $$
$$(A1*A2*...*Ak)$$

你会得到一个用问号代替数字的质量表达式。确定表达式可能具有的最大值。

### 输入格式:

第一行输入为整数$$K(2≤K≤50)$$。输入的第二行包含整数$$Z1,…,Zk$$,用空格分隔$$(1≤Z1,…,Zk≤50)$$。输入的第三行包含一个所述格式的高质量算术表达式。算术表达式由: '$$?$$', ' $$*$$ ', ' $$+$$', '$$($$', '$$) $$',最大长度为$$1000000$$。

### 输出格式:

您必须输出表达式的最大可能值。如果一个解决方案与官方解决方案的绝对或相对偏差小于$$10 ^{-3}$$,就被认为是正确的。

### 输入样例1:

in
2
10 6
((?)+(?))


### 输出样例1:

out
6.000000000

### 输入样例2:

in
3
2 5 3
(((?)+(?))*(?))


### 输出样例2:

out
6.000000000

### 输入样例3:

in
3
2 10 6
((?)*(?)*(?))


### 输出样例3:

out
8.000000000






答案:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。