#XMOJ10188. 找到S+T
找到S+T
说明
时间限制:1 Sec
内存限制:256 MB
输入文件:st.in 输出文件:st.out
对于字符串 $S$ 和 $T$,将它们连接后的结果用 $S+T$ 表示。
给定 $N$ 个长度为 $3$ 的字符串 $U_1, U_2, \dots, U_N$,请为每个 $1 \leq i \leq N$ 找到满足 $S_i + T_i = U_i$ 的非空字符串 $S_i$ 和 $T_i$,且所有 $2N$ 个字符串互不相同。若无法找到满足条件的解,则输出 Impossible。输入格式
第 $1$ 行:整数 $N$。
第 $2$ 行至第 $N+1$ 行:每个字符串 $U_i$(长度为 $3$,仅包含小写字母 $a-z$ 或大写字母 $A-Z$)。
输出格式
若无解:输出 Impossible。
若有解:按顺序输出 $N$ 行,每行包含 $S_i$ 和 $T_i$(用空格分隔)。所有 $2N$ 个字符串必须互不相同。如果有多个解,任意输出其中的一个即可。
样例
样例 1
3
abc
abd
cbc
a bc
ab d
cb c
样例 2
2
aaa
aaa
Impossible
样例 3
2
aaa
AAA
a aa
A AA
样例 4
10
kgb
cih
blm
kee
lgj
dcl
bam
ibc
mca
lkf
k gb
c ih
b lm
ke e
l gj
d cl
ba m
i bc
mc a
lk f
数据范围
对于 20% 的数据,$N \le 10$。
对于 36% 的数据,$N \le 30$。
对于 76% 的数据,$N \le 100$。
对于 100% 的数据,$1 \le N \le 10^5$。
相关
在下列比赛中: