2164: 三个骰子

内存限制:256 MB 时间限制:2 S 标准输入输出
题目类型:传统 评测方式:Special Judge 上传者:
提交:1 通过:1

题目描述

给定一个长度为 n 的单词列表,每个单词长度为3。
请构造一组可能的三个六面骰子,以便每个单词都可以由三个骰子的顶面组成的某种排列形式来形成。
要保证将 18 个不同的字母分布在这 18 个面上。

输入格式

输入的第一行包含一个整数 n(1 ≤ n ≤ 1000),表示单词的数量。
接下来的 n 行中,每行包含一个由小写字母(a-z)组成的三个字母的单词。
列表中可能存在重复的单词,并且这些单词可能包含相同的字母。

输出格式

如果存在一组骰子可以组成所有的单词,则输出任何一解即可。
将三个骰子一行输出,每行由三个由六个小写字母组成的字符串以空格分隔。
如果无法构造这样的骰子,则输出一行,内容为数字0。

输入样例 复制

样例1:
3
lad
fin
sly

样例2:
1
dad

样例3:
11
aft
cog
far
irk
kit
yes
tau
rag
own
uke
via

输出样例 复制

样例1:
zounds plight fakery

样例2:
0

样例3:
11
vortex whacky fusing

数据范围与提示

来源:2023 PACNW