【洛谷1019】单词接龙

2019-06-18 17:29:24


原题:
单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如 beastbeast和astonishastonish,如果接成一条龙则变为beastonishbeastonish,另外相邻的两部分不能存在包含关系,例如atat 和 atideatide 间不能相连。
$ n\leq 20 $

实际单词长度不大,两个单词间重叠长度n方暴力即可
(注意根据贪心,重叠长度应越小越好,如abab和babt应该拼成abababt而不是ababt
实际数据不强,无需剪枝
(虽然一个tat tbt tct ... tzt即可叉爆所有题解中的程序
所以不用想太多,莽就行了
搜索这东西,不能算复杂度的
然而我T了一组,想了一下午
T的原因是某组数据全是大写,我字符串读入写得丑,直接徐王了
最后看题解下数据才发现
所以陷入困境的时候未必要死磕到底,看题解下数据也是很重要的
正如mzx教我,考试的时候一道题也就那么多时间,平常练习不适合想过长时间
然而然而,大部分题还是多多死磕好,这个问题怎么把握呢,真是个问题= =

代码不贴了