单点时限: 1.0 sec
内存限制: 512 MB
阿屈和室友蓬蓬最近在玩一种单词游戏,游戏规则如下:
- 开始时会给出
- 每个玩家选择至少一个单词(可以重复选则某个单词
- 率先得到回文串的玩家获胜
蓬蓬发现他每次都打不过阿屈,于是他修改了游戏规则:
- 每个单词
- 构成回文串且所用代价最小的玩家获胜
阿屈虽然能很快得到回文串,但却不擅长得到最小代价回文串,这撼动了他在单词游戏中的统治地位。你能帮助阿屈计算出构成回文串的最小代价吗?
第一行一个正整数
接下来
输出一个正整数 cost,表示阿屈用所给单词
4 ab 5 cba 3 a 12 ab 10
8
2 abc 1 ab 2
-1
2 abcab 5 cba 3
11
在样例 1 中,可以选择 a
直接构成回文串,所需代价为 12,但选择 ab
和 cba
构成回文串 abcba
的代价为 8。
在样例 2 中,无法构成回文串,输出 -1。
在样例 3 中,选择 abcab
一次、cba
两次,构成回文串 abcab|cba|cba
,最小代价为 11。