题目名称 1172. [顾研NOIP] 项链
输入输出 necklaced.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 GravatarMakazeu 于2012-10-17加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:21, 提交:52, 通过率:40.38%
Gravatar沉迷学习的假的Keller 100 0.067 s 0.03 MiB C++
GravatarRapiz 100 0.077 s 0.29 MiB C++
GravatarCzb。 100 0.086 s 1.99 MiB C++
GravatarEVANGELION 100 0.105 s 3.15 MiB C++
GravatarQichen 100 0.106 s 3.15 MiB C++
Gravatarchenge 100 0.120 s 0.17 MiB Pascal
Gravatar11111111 100 0.120 s 3.15 MiB C++
GravatarTruth.Cirno 100 0.129 s 3.16 MiB C++
Gravatarlucifer 100 0.132 s 0.17 MiB Pascal
Gravatar苏轼 100 0.133 s 3.15 MiB C++
本题关联比赛
顾研NOIP2011模拟赛
关于 项链 的近10条评论(全部评论)
位运算(wo)太(tai)神(cai)了
Gravatar沉迷学习的假的Keller
2016-10-31 15:18 1楼

1172. [顾研NOIP] 项链

★☆   输入文件:necklaced.in   输出文件:necklaced.out   简单对比
时间限制:1 s   内存限制:128 MiB

项链
necklaced
【问题描述】
Henryy岛是个度假胜地,每年吸引着数以万计的游客到来。岛上有着有多精品店,不过大多数精品店出售的是一种可以DIY的项链。这种项链是一些奇怪的海洋生物的外壳,把他们串起来好看又小巧。但是串这些外壳也是有技巧的,要做到好看又小巧真的不容易。
假设每个外壳有好几个可以用来连接其他外壳的连接点,每个连接点我们用大写英文字母A-Z表示(不会有同一种连接点多次出现在一个外壳上)。两个外壳可以连接,当且仅当他们有公共的连接点。而且每个连接点最多与另外一个连接点相连接。如果所有被串起来的外壳,没有多余的连接点(也就是说不可能再串一个外壳),这样串起来的所有外壳,我们叫做“外壳串”。而项链将由这些的“外壳串”再次串起来。项链的串法就没有这么复杂了,它直接用绳子串起来就可以拉。
现在的问题是,在众多的外壳中,应该如何选择才可以串出一个最为庞大的项链(外壳要最多)。
【输入文件】
第一行是一个整数N(0<=N<=26),表示有N个外壳。接下来有N行,每行是一个以A-Z字母组成的字串,表示一个外壳。
【输出文件】
输出最多可以由多少个外壳串出一串项链。
【样例输入】
6
ABD
AB
BA
ABE
AC
BCD
【样例输出】
5
【样例说明】
使用ABD、AB、BA、AC和BCD,其中ABD和BCD串剩A和C,分别于AB和AC连接后剩下的与BA连接即可。

注意,ABD和BCD连接后一定剩下A和C。不存在只有B连接或D连接所以剩下ACD或ABC的情况。