QOJ.ac

QOJ

Limite de temps : 10 s Limite de mémoire : 1024 MB Points totaux : 100

#5339. 混合颜色

Statistiques

Frank 住在伦敦,他非常喜欢游戏和数学。最近,他在手机上玩一款游戏。游戏很简单:给定一个颜色标记序列,玩家每一步必须合并一对相邻的标记,以获得某种特定颜色的新标记。这个过程不断重复,直到整个序列只剩下一个最终标记。问题在于并非每对颜色都能合并。有一组规则描述了允许的组合。例如,给定以下规则:

blue + yellow $\to$ green yellow + red $\to$ orange blue + orange $\to$ brown

对于序列 (blue, yellow, red),游戏可以在两步后结束并得到一个 brown 标记:(blue, yellow, red) $\to$ (blue, orange) $\to$ (brown)。

Frank 现在正在瓦伦西亚参加一场著名的编程竞赛,他正在等电车去大学。与此同时,他正在玩这个游戏来打发时间,但阳光太刺眼,他无法看清手机屏幕。他对每个标记可能的颜色有一定的把握,他想知道根据他对输入序列的估计,最可能的博弈过程会产生什么结果颜色。给定 Frank 对两种颜色 A 和 B 的估计,以及组合 A + B $\to$ C,所得颜色 C 的确定性计算公式为 $\text{cer(C)} = \text{cer(A)} \cdot \text{cer(B)}$。

输入格式

第一行包含 $R$ ($0 < R \le 100$),表示描述允许颜色组合的规则数量。接下来的 $R$ 行,每行包含三个字符串 $s_1, s_2, s_3$,表示组合 $s_1 + s_2 \to s_3$。下一行显示测试用例的数量 $T$。对于每个测试用例,一个整数 $C$ 表示输入标记序列的长度 ($0 < C \le 500$)。接下来的 $C$ 行描述一个标记,包含一系列对 $(k, \text{cer}(k))$,提供颜色 $k$ 及其对应的确定性 ($0 < \text{cer}(k) \le 1.0$)。列表以单词 END 结尾。对于某个特定标记,所有颜色的确定性之和始终为 $1.0$。测试用例中的每种颜色都在描述游戏的规则中出现过。

输出格式

对于每个测试用例,打印最可能的博弈过程所产生的最终颜色。如果没有可能的组合来完成游戏,则打印 GAMEOVER。

样例

样例输入 1

7
Blue Yellow Green
Yellow Red Orange
Green Red Yellow
White Red Pink
Pink Black Red
Orange Red Red
Yellow Orange Yellow
3
2
Red 0.7 Orange 0.3 END
Yellow 1.0 END
4
Blue 0.6 Green 0.4 END
Red 0.2 Orange 0.6 Yellow 0.2 END
White 0.9 Yellow 0.1 END
Red 0.5 Black 0.5 END
2
Blue 1.0 END
Orange 1.0 END

样例输出 1

Orange
Yellow
GAMEOVER

说明

第一个样例

在第一个样例中只有两个标记。Frank 确定第二个标记是 Yellow,但第一个标记可能是 Red 或 Orange。游戏有两种可能的解:

  1. (Red, Yellow) $\to$ (Orange) : $\text{cer(Orange)} = 0.7$
  2. (Orange, Yellow) $\to$ (Yellow) : $\text{cer(Yellow)} = 0.3$

因此,根据 Frank 的估计,最可能的博弈过程是第 1 种,最终颜色为 Orange。

第二个样例

在第二个样例中有多个标记和估计。两种可能的解为:

  1. (Blue, Yellow, Yellow, Red) $\to$ (Blue, Yellow, Orange) $\to$ (Blue, Yellow) $\to$ (Green) $\text{cer(Green)} = 0.006$
  2. (Green, Red, White, Black) $\to$ (Green, Pink, Black) $\to$ (Green, Red) $\to$ (Yellow) $\text{cer(Yellow)} = 0.036$

因此,根据 Frank 的估计,最可能的博弈过程是第 2 种,最终颜色为 Yellow。

第三个样例

在这个最终样例中,Frank 确定有两个标记 Blue 和 Orange。在定义的游戏中没有规则允许组合这些颜色,因此,该标记序列没有解。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.