A6999 | [IOI 1998] Polygon
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
Polygon 是一个玩家在一个有 $n$ 个顶点的多边形上玩的游戏,如图所示,其中 $n = 4$。每个顶点用整数标记,每个边用符号

第一步,删除其中一条边。随后每一步:
选择一条边连接的两个顶点 $V_1$ 和 $V_2$,用边上的运算符计算 $V_1$ 和 $V_2$ 得到的结果来替换这两个顶点。
游戏结束时,只有一个顶点,没有多余的边。
如图所示,玩家先移除编号为 $3$ 的边。之后,玩家选择计算编号为 $1$ 的边,然后计算编号为 $4$ 的边,最后,计算编号为 $2$ 的边。结果是 $0$。

(译者注:这里每条边的运算符旁边的数字为边的编号,不拿来计算)
编写一个程序,给定一个多边形,计算最高可能的分数。
+(加)或符号 *(乘积)标记。
第一步,删除其中一条边。随后每一步:
选择一条边连接的两个顶点 $V_1$ 和 $V_2$,用边上的运算符计算 $V_1$ 和 $V_2$ 得到的结果来替换这两个顶点。
游戏结束时,只有一个顶点,没有多余的边。
如图所示,玩家先移除编号为 $3$ 的边。之后,玩家选择计算编号为 $1$ 的边,然后计算编号为 $4$ 的边,最后,计算编号为 $2$ 的边。结果是 $0$。

(译者注:这里每条边的运算符旁边的数字为边的编号,不拿来计算)
编写一个程序,给定一个多边形,计算最高可能的分数。
输入格式
输入描述一个有 $n$ 个顶点的多边形,它包含两行。第一行是数字 $n$,为总边数。
第二行描述这个多边形,一共有 $n$ 组,每组中第一个字符为边 $i$ 的计算符号(
第二行描述这个多边形,一共有 $n$ 组,每组中第一个字符为边 $i$ 的计算符号(
t 代表相加,x 代表相乘),第二个代表顶点 $i$ 上的数字。多边形首尾相连。输出格式
第一行,输出最高的分数。在第二行,输出所有可能的在第一步即被清除后仍能得到最高分的边的下标,以严格升序输出。
输入输出样例
输入 #1
4 t -7 t 4 x 2 x 5
输出 #1
33 1 2
保证 $3 \le n \le 50$。
对于任何一系列的操作,顶点数字都在 $[-32768,32767]$ 的范围内。
对于任何一系列的操作,顶点数字都在 $[-32768,32767]$ 的范围内。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?