/ CWOI / 题库 /

2017.07.04 P4 多边形游戏

2017.07.04 P4 多边形游戏

题目描述

多边形游戏是一种在一个具有 n 个顶点的多边形上进行的游戏。每个顶点有个权值(整数)。如图 1 是一个 n = 4 对应多边形,每个顶点上都有一个整数,每条边都有一个运算符 + 或者 * ,所有边按从 1 到 n 进行编号。
游戏都首先移除一条边,接下来可以进行如下操作:

选择一条边E 和与之相关联的点 V1 和 V2,用一个新的点替换它们,新点上的整数为 V1, V2 上的整数用 E 上的操作符运算后的结果。
没有边时游戏结束,游戏得分就是最后剩下的那个顶点上的整数。
对于图 1 中的多边形,如果游戏者首先去掉3,然后依次去掉 1、4、2,最后得分将是 0。

请你写一个程序,对于给定的多边形,计算出可能得到的最高分,并列出第一步移除哪些边可以得到这个最高分。

输入格式

共两行,第一行是一个正整数 n,表示多边形的边数。
接下来一行是这个多边形的描述,包含 n 条边和 n 个顶点,加号边用 t 表示,乘号边用 x 表示,顶点用顶点上标的整数表示,输入按照边的编号从 1 到 n 的顺序给出。

输出格式

共两行,第一行输出可能得到的最高分。
第二行输出一些边的列表,只有第一步移除的边在这个列表中才可能得到最高分。每条边都用这个边上的编号表示,列表必须是升序的。

样例输入

4
t -7 t 4 x 2 x 5

样例输出

33
1 2

数据范围

对于100%的数据,3 <= n <= 30, -5 <= E <= 17

限制

1s

来源

POJ1179
CWOI新高二专题测试三

信息

难度
3
分类
动态规划 | 环形DP 点击显示
标签
(无)
递交数
14
已通过
3
通过率
21%
上传者