atcoder#ABC197F. [ABC197F] Construct a Palindrome
[ABC197F] Construct a Palindrome
题目描述
頂点 辺の、単純とは限らない連結な無向グラフがあります。
辺 は頂点 と頂点 を結んでおり、文字 が書かれています。
頂点 から頂点 へのパス (同じ辺や頂点を複数回通っても構わない) を つ選び、通る辺に書かれている文字を順に並べて文字列を作ります。
この文字列が回文になることはあるかを判定し、あるならばそのような回文の長さとして考えられる最小値を求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
输出格式
作る文字列が回文になることがあるならば、そのような回文の長さの最小値を、ないならば -1
を出力せよ。
题目大意
有一个 个点, 条边的无向联通图(图可能不是简单的,意味着可能有环)。第 条边连接着点 和 ,上面有个英文小写字母 。一条从点 开始,点 结束的回文路径满足:在路径上的边顺次取出字母(也就是取出 ),最后形成的字符串回文(注意:这并不是简单路径,可能会经过重复的点或边)。求从 开始 结束的最短回文路径长度。
8 8
1 2 a
2 3 b
1 3 c
3 4 b
4 5 a
5 6 c
6 7 b
7 8 a
10
4 5
1 1 a
1 2 a
2 3 a
3 4 b
4 4 a
5
3 4
1 1 a
1 2 a
2 3 b
3 3 b
-1
提示
制約
- は英小文字
- 与えられるグラフは連結である
Sample Explanation 1
辺 の順に通ると、出来上がる文字列は abcabbacba
となり、回文となります。 これより短い回文を作ることはできないので、答えは です。
Sample Explanation 2
辺 の順に通ると aabaa
という文字列を作ることができ、これは回文です。 同じ辺や頂点を複数回通っても構わないことに注意してください。
Sample Explanation 3
出来上がる文字列が回文となることはありません。