#P1341. 无序字母对(Unordered Letter Pairs)

0

无序字母对(Unordered Letter Pairs)

无序字母对(Unordered Letter Pairs)

题目描述

给定 nn 个各不相同的无序字母对(区分大小写,无序即字母对中的两个字母可以位置颠倒)。请构造一个有 (n+1)(n+1) 个字母的字符串使得每个字母对都在这个字符串中出现。

输入格式

第一行输入一个正整数 nn。

第二行到第 (n+1)(n+1) 行每行两个字母,表示这两个字母需要相邻。

输出格式

输出满足要求的字符串。

如果没有满足要求的字符串,请输出 No Solution。

如果有多种方案,请输出字典序最小的方案(即满足前面的字母的 ASCII 编码尽可能小)。

样例输入 #1

4
aZ
tZ
Xt
aX

样例输出 #1

XaZtX

数据范围

不同的无序字母对个数有限,nn 的规模可以通过计算得到。(大小写字母共 5252 个,故 1≤n≤(522)=13261 \le n \le \binom{52}{2} = 1326。)

知识点与难度

本题涉及的知识点从属于 CSP-S,难度(CF Rating):1600。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1 样例
1 20 2~7 小规模 n≤15 / 特殊: 大小写混合ASCII序('Z'<'a') / 特殊: 不连通输出No Solution
2 8~13 中等规模 n≤200 / Hack: 欧拉回路须选最小ASCII点作起点而非输入首字母
3 30 14~20 大规模 n≤1300 接近52字母完全图字典序最小欧拉路测试
4 20 21~25 满规模 n=1326(K_52欧拉路径/回路)与无解综合回归

出处:原题链接