#P17822. [COCI 2026/2027 #1] Kockice
[COCI 2026/2027 #1] Kockice
题目描述
Malnar 先生正在玩一个骰子游戏。规则很简单:首先,每位玩家投掷任意数量的骰子。接着,玩家可以选择将至多 枚骰子翻转,使当前朝上那一面的对面朝上,也可以选择一枚都不翻转。众所周知,骰子上任意一对相对的面上的点数之和为 (例如, 和 位于相对的两个面上)。所有翻转结束后,玩家的得分为全部骰子朝上面的点数之和。得分最高的玩家获胜。
Malnar 先生非常想赢,因此决定作弊。他偷偷给桌上的骰子拍了一张照片发给你,请求你的帮助。照片的大小为 。由于骰子与桌子的颜色相同,照片中看不见骰子的轮廓。幸运的是,骰子上的点清晰可见。每个点用字符 o 表示,每个空白位置用字符 - 表示。骰子的六个面在照片中的表示如下:
--- o-- o-- o-o o-o o-o
-o- --- -o- --- -o- o-o
--- --o --o o-o o-o o-o
1 2 3 4 5 6
快!Malnar 先生需要你的帮助!他最多能获得多少分?
输入格式
第一行包含两个自然数 ()和 (),分别表示照片的宽度和 Malnar 先生最多可以翻转的骰子数量。
接下来三行,每行包含一个长度为 、仅由 - 和 o 组成的字符串,表示你收到的照片。保证照片中至少有一枚投掷后的骰子。
骰子的各个面只会以题面所示的方向出现,即它们不能旋转。保证照片表示一种将骰子投到桌上后可能出现的合法骰子摆放方式。
输出格式
输出一行,包含一个数,表示 Malnar 先生可以获得的最大分数。
3 1
o-o
---
o-o
4
11 4
-o-o----o--
--o------o-
-o-o------o
9
17 2
o--o-o-------o---
-o-o-o--o--------
--oo-o---------o-
20
提示
样例 1 解释
Malnar 先生投掷了一枚骰子,朝上的点数为 。由于 ,他可以翻转这枚骰子。 的对面是 (因为 ),因此翻转后会得到 分。不过,最优选择是不翻转,因为点数为 时的总分大于点数为 时的总分。
样例 2 解释
Malnar 先生投掷了两枚骰子,点数分别为 和 。他最多可以翻转四枚骰子,但桌上只有两枚,因此他可以只翻转其中一枚、两枚都翻转,或者一枚都不翻转。如果都不翻转,得分为 。如果只翻转点数为 的骰子,其点数变为 ,得分为 。如果只翻转点数为 的骰子,其点数变为 ,得分为 。如果两枚都翻转,点数将分别为 和 ,得分为 。因此,最高得分为 ,只翻转点数为 的骰子即可达到。
样例 3 解释
Malnar 先生投掷了四枚骰子,按照片中的顺序,点数依次为 、、、。他最多可以翻转其中两枚。翻转点数为 的骰子(变为 )和点数为 的骰子(变为 )可以获得最高分。这样,得分从 变为 。
评分标准
| 子任务 | 分值 | 附加限制 |
|---|---|---|
| 1 | 9 | 。 |
| 2 | 10 | 所有骰子的点数均为 或 。 |
| 3 | 13 | 。 |
| 4 | 18 | 无附加限制。 |