1903_算法设计例题:多边形游戏(DP)

2022-5-16 18:17| 发布者: Hocassian| 查看: 47| 评论: 0|原作者: 肇庆学院ACM合集

摘要:
C:\Users\Administrator\Downloads\2019-10-12-10-14-3-89504130730600-Problem List-采集的数据-后羿采集器.html

Pro.ID

1903

Title

算法设计例题:多边形游戏(DP)

Title链接

http://10.20.2.8/oj/exercise/problem?problem_id=1903

AC

121

Submit

933

Ratio

12.97%

时间&空间限制

  • Time Limit: 1000/500 MS (Java/Others)     Memory Limit: 32768/32768 K (Java/Others)
  • 描述

    多边形游戏是一个单人玩的游戏,开始时有一个由n个顶点构成的多边形。每个顶点被赋予一个整数值,每条边被赋予一个运算符 "+" 或 "*"。所有边依次用整数从1到n编号。

    游戏第1步,将一条边删除。

    随后的n-1步按以下方式操作:

    (1)选择一条边E以及由E连接着的两个顶点V1V2

    (2)用一个新的顶点取代边E以及由E连接着的两个顶点V1V2。将由顶点V1V2的整数值通过边E上的运算得到的结果赋予新顶点。

    最后,所有边都被删除,游戏结束。游戏的得分就是所剩顶点上的整数值。

    问题:对于给定的多边形,计算最高得分W ( -231 < W < 231 )。

    输入

    输入的第一行是单独一个整数n( 3 ≤ n ≤ 18 ),表示多边形的顶点数(同时也是边数)。接下来第n行,每行包含一个运算符("+"或"*")和一个整数V[i]( -10 < V[i] < 10 ),分别表示第i条边所对应的运算符和第i个顶点上的数值。

    输出

    Description

    多边形游戏是一个单人玩的游戏,开始时有一个由n个顶点构成的多边形。每个顶点被赋予一个整数值,每条边被赋予一个运算符 "+" 或 "*"。所有边依次用整数从1到n编号。

    游戏第1步,将一条边删除。

    随后的n-1步按以下方式操作:

    (1)选择一条边E以及由E连接着的两个顶点V1V2

    (2)用一个新的顶点取代边E以及由E连接着的两个顶点V1V2。将由顶点V1V2的整数值通过边E上的运算得到的结果赋予新顶点。

    最后,所有边都被删除,游戏结束。游戏的得分就是所剩顶点上的整数值。

    问题:对于给定的多边形,计算最高得分W ( -231 < W < 231 )。

    Input

    输入的第一行是单独一个整数n( 3 ≤ n ≤ 18 ),表示多边形的顶点数(同时也是边数)。接下来第n行,每行包含一个运算符("+"或"*")和一个整数V[i]( -10 < V[i] < 10 ),分别表示第i条边所对应的运算符和第i个顶点上的数值。

    Output

    输出只有一个整数,表示最高得分W

    Sample Input

    3
    + 2
    * 3
    + 1

    Sample Output

    9

    Hint

    可以如下面这样玩:

    但得到的不是最高分哦。

    Author

    样例输入

    3
    + 2
    * 3
    + 1

    样例输出

    9

    提示

    可以如下面这样玩:

    但得到的不是最高分哦。


    路过

    雷人

    握手

    鲜花

    鸡蛋

    最新评论

    返回顶部