标签:lin pen pre i+1 div amp 游戏 attach 格式
你在写一款 Galgame 的剧情(的代码)。
在这个游戏中一共有 n 个角色。你需要编写一些关于这些角色的对话内容。然而,在写这些对话内容之前,都要写一段关于角色信息的代码,就像这样:
Character("Alex", color = "#FFFC3A")
你觉得这样好麻烦。你决定把它简化一下。你打算用角色名字的一个非空子序列(可以不连续)来作为它的简称。
当然,不同的角色要用不同的字符串作为简称,否则你就变量重名了。
你想确定一个简称的分配方案使得所有角色中最长的简称尽量短,这样你打起代码就会方便一些。
从文件 diff.in
中读入数据。
第一行一个正整数 nnn 。
接下来 nnn 行,每行一个由小写字母组成的字符串,代表一个角色的名字。
不同的角色可能会有相同的名字。
输出到文件 diff.out
中。
如果不存在一种分配简称的方案满足条件,输出 ?1
。
否则第一行输出一个正整数,表示最长的简称的最小长度。
接下来 nnn 行每行一个字符串,按顺序表示每个角色的简称。
若有多种方案满足条件,那么你可以输出任意一种。
11
night
nealchen
beimingyouyu
echo
rankinf
dntcrybecthlev
lagoon
cyc
alphagem
leehwincing
clin
1
g
a
m
e
r
b
o
y
l
w
c
保证 n≤300n \le 300n≤300 ,每个名字的长度不超过 300300300 。
Subtask 1(30 pts) : n≤4n \le 4n≤4
Subtask 2(30 pts) : n≥100n \ge 100n≥100 , 串长和串的内容在题目范围内均匀随机。
即串长在 [1,300][1,300][1,300] 内随机,串的每一位在 aaa 到 zzz 之间随机。
Subtask 3(40 pts): 无特殊限制
标签:lin pen pre i+1 div amp 游戏 attach 格式
原文地址:https://www.cnblogs.com/liankewei/p/10389666.html