QOJ.ac

QOJ

حد الوقت: 0.2 s حد الذاكرة: 32 MB مجموع النقاط: 110

#17075. MATRICA

الإحصائيات

矩阵是一个由字母组成的矩形表格。方阵是行数和列数相等的矩阵。如果一个方阵 $M$ 的字母关于主对角线对称(即对于所有 $i$ 和 $j$ 的组合,都有 $M_{ij} = M_{ji}$),则称其为对称矩阵

下图展示了两个对称矩阵和一个非对称矩阵:

两个对称矩阵。两个非对称矩阵。

给定一组可用的字母,你需要输出由这些字母组成的所有可能的对称矩阵中,字典序最小的那个矩阵的指定列子集。

如果不存在这样的矩阵,输出 "IMPOSSIBLE"。

为了确定矩阵 $A$ 是否在字典序上小于矩阵 $B$,我们将它们的元素按行优先顺序(即像将所有行拼接成一个长字符串一样)进行比较。如果两个矩阵出现不同的第一个元素在 $A$ 中较小,则称 $A$ 在字典序上小于 $B$。

输入格式

第一行包含两个整数 $N$ ($1 \le N \le 30000$) 和 $K$ ($1 \le K \le 26$)。$N$ 是矩阵的维度,而 $K$ 是将要出现的不同字母的数量。

接下来的 $K$ 行,每行包含一个大写字母和一个正整数,中间用空格隔开。该整数表示需要使用多少个对应的字母。例如,如果某一行是 "A 3",则字母 A 必须在输出矩阵中恰好出现三次。

字母的总数将恰好为 $N^2$。输入中每个字母最多出现一次。

下一行包含一个整数 $P$ ($1 \le P \le 50$),表示需要输出的列数。

最后一行包含 $P$ 个整数,表示需要输出的列的索引。这些索引在 $1$ 到 $N$ 之间(包含边界),按递增顺序给出,且不重复。

输出格式

如果可以使用给定的字母集合组成一个对称矩阵,则在 $N$ 行中输出所需的列,每行包含 $P$ 个字符,不含空格。否则,输出 "IMPOSSIBLE"(不含双引号)。

子任务

  • 在占总分 60% 的测试数据中,$N$ 最多为 300。
  • 在占总分 80% 的测试数据中,$N$ 最多为 3000。

样例

输入样例 1

3 3
A 3
B 2
C 4
3
1 2 3

输出样例 1

AAB
ACC
BCC

输入样例 2

4 4
A 4
B 4
C 4
D 4
4
1 2 3 4

输出样例 2

AABB
AACC
BCDD
BCDD

输入样例 3

4 5
E 4
A 3
B 3
C 3
D 3
2
2 4

输出样例 3

AC
BE
DE
ED

输入样例 4

4 6
F 1
E 3
A 3
B 3
C 3
D 3
4
1 2 3 4

输出样例 4

IMPOSSIBLE

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.