YZOJ P4259 [FJWC 2019] 不同的缩写
时间限制:1000MS 内存限制:262144KB
出题人:E.Space
难度:6.1
-
题目描述
在这个游戏中一共有 n 个角色。你需要编写一些关于这些角色的对话内容。
你打算用角色名字的一个非空子序列来作为它的简称。
当然,不同的角色要用不同的字符串作为简称,否则你就变量重名了。
你想确定一个简称的分配方案使得所有角色中最长的简称尽量短。
-
输入格式
第一行一个正整数 n。
接下来 n 行,每行一个由小写字母组成的字符串,代表一个角色的名字。
不同的角色可能会有相同的名字。
-
输出格式
如果不存在一种分配简称的方案满足条件,输出 -1。
否则第一行输出一个正整数,表示最长的简称的最小长度。
接下来 n 行每行一个字符串,按顺序表示每个角色的简称。
若有多种方案满足条件,那么你可以输出任意一种。
-
样例输入
-
样例输出
-
数据规模与约定
保证 n \leq 300 ,每个名字的长度不超过 300。