#P12457. [UOI 2024] Lady's Gift
[UOI 2024] Lady's Gift
题目描述
在生日那天,女士收到了一份礼物——一个网络。该网络包含 个节点,编号为从 到 的整数。每个节点被分配了一个特定的字母,编号为 的节点对应的字母记为 。
某些节点对之间存在单向连接。每个节点恰好有一个出向的单向连接。设编号为 的节点的连接指向编号为 的节点。注意 可以等于 —— 在这种情况下,认为编号为 的节点的连接指向它自身。
定义 且 。因此, 表示如果将一枚棋子放在编号为 的节点上,并沿着连接移动 次后所在的节点编号。
女士构造了一个大小为 的矩阵 ,其中 。因此,矩阵 的第 行是一个长度为 的字母序列,其中第一个字母等于 ,第二个字母等于 ,第三个字母等于 ,依此类推。
女士告知了矩阵 的某些行,并要求你构造任意一个与已知行相符的网络。
输入格式
第一行包含一个整数 —— 网络中的节点数量。
接下来的 行描述矩阵 。每行包含 个小写拉丁字母,表示矩阵 的对应行;或者仅包含一个符号 ?,表示女士未告知该行。
保证至少存在一个满足条件的网络。
输出格式
在第一行,输出一个由 个小写拉丁字母组成的字符串 —— 网络中节点上写的字母。
在第二行,输出 个整数 —— 各节点的出向连接指向的节点编号。
所构造的网络对应的矩阵必须与女士告知的矩阵 在所有已知行上完全一致。
如果存在多个正确答案,输出任意一个即可。
输入输出样例 #1
输入 #1
4
abaaaaaaaaaa
baaaaaaaaaaa
aaaaaaaaaaaa
cccccccccccc
输出 #1
abac
2 3 3 4
输入输出样例 #2
输入 #2
3
axaxaxaxa
xxxxxxxxx
?
输出 #2
axx
3 2 1
说明/提示
在第一个例子中, 且 ,因此 ,,。由于 ,对于所有 的 也等于 。相应地,第一行的第二个字母等于 ,第三个字母等于 。
下方是示例中的网络图示。角落的数字表示节点编号,字母表示对应节点上的字母,箭头表示单向连接。
第一个示例的网络
第二个示例的网络
评分标准
设 为女士未告知的行数。
我们称一个网络为"成对节点和孤立节点的集合",如果该网络可以被划分为:1) 连接指向自身的节点(即 );2) 成对的节点 满足 且 。
我们称一个网络为"星型结构集合",如果该网络可以被划分为若干个独立的"星型结构",每个星型结构包含:1) 一个主节点 (满足 );2) 一组从节点 (满足 对 成立)。注意网络中的星型结构可以有不同的尺寸,甚至可以仅包含一个主节点。
我们称一个网络为"以节点 为根的树形结构",如果:1) 节点 的连接指向自身(即 );2) 其他所有节点都能通过网络连接到达节点 (即对每个 都存在 使得 )。
我们称一个网络为"环形结构",如果从任意节点出发都能通过网络连接到达其他所有节点(即对所有 都存在 使得 )。
评分细则如下:
- (10 分):,;
- (6 分):,,且对所有 有 (网络是成对节点和孤立节点的集合);
- (6 分):,,且对所有 有 (网络是星型结构集合);
- (9 分):,,且 ,对所有 有 (网络是以节点 1 为根的树形结构);
- (9 分):,,且对所有 都存在 使得 (网络是环形结构);
- (13 分):,;
- (25 分):;
- (10 分):,;
- (12 分):无额外限制。
翻译由 DeepSeek V3 完成