P10746 [SEERC 2020] Codenames

题目描述

有 $q$ 个 $5 \times 5$ 的图表,给出每个点的颜色(只可能是 `r`、`b`、`n`、`x`),具体颜色分配为:$9$ 个 `r`,$8$ 个 `b`,$5$ 个 `n`,一个 `x`。 图表中每个点对应的字符始终确定,分别为: ``` abcde fghij klmno pqrst uvwxy ``` 图表中某些颜色已经翻开来了(用其颜色的大写字母表示已显示),然后你需要从一个 $n$ 个字符串的列表内选择一个字符串 $w$ 和一个数字 $g$,按下述规则进行操作 $g$ 次。 - 如果当前 $w_i$ 字符代表的格子颜色已经被公示,不进行操作,令 $i \gets i + 1$。 - 否则,翻开 $w_i$ 代表的格子,如果 $w_i$ 的颜色为 `n`、`b` 或 `x`,就输了。然后再令 $i \gets i+1$。 - 当 $g$ 次操作完成或所有 `r` 色块都翻出来时结束操作。 你想要使得所有 `r` 色块都翻出来,求一组满足条件的 $w$ 与 $g$。

输入格式

第一行一个整数 $n\ (1 \leq n \leq 10^5)$。 然后 $n$ 行,每行一个字符串,描述了一整个字符串列表。 第 $n+2$ 行,整数 $q\ (1 \leq q \leq 10^5)$,表示表格个数。 然后 $q$ 组图表,每个图表占据 $5 \times 5$ 的大小,描述了第 $i$ 个图表的颜色。

输出格式

对于每个图表,如果有解,输出一组合法的 $w$ 和 $g\ (1 \leq g \leq 9)$,无解输出 `IMPOSSIBLE`。

说明/提示

答案还可能是 `actor 4`,`zeta 2` 等。