#abc197f. [abc197_f]Construct a Palindrome
[abc197_f]Construct a Palindrome
問題文
頂点 辺の、単純とは限らない連結な無向グラフがあります。
辺 は頂点 と頂点 を結んでおり、文字 が書かれています。
頂点 から頂点 へのパス (同じ辺や頂点を複数回通っても構わない) を つ選び、通る辺に書かれている文字を順に並べて文字列を作ります。
この文字列が回文になることはあるかを判定し、あるならばそのような回文の長さとして考えられる最小値を求めてください。
制約
- は英小文字
- 与えられるグラフは連結である
入力
入力は以下の形式で標準入力から与えられる。
出力
作る文字列が回文になることがあるならば、そのような回文の長さの最小値を、ないならば -1
を出力せよ。
入力例 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
出力例 1
10
辺 の順に通ると、出来上がる文字列は abcabbacba
となり、回文となります。
これより短い回文を作ることはできないので、答えは です。
入力例 2
4 5
1 1 a
1 2 a
2 3 a
3 4 b
4 4 a
出力例 2
5
辺 の順に通ると aabaa
という文字列を作ることができ、これは回文です。
同じ辺や頂点を複数回通っても構わないことに注意してください。
入力例 3
3 4
1 1 a
1 2 a
2 3 b
3 3 b
出力例 3
-1
出来上がる文字列が回文となることはありません。