#agc004f. [agc004_f]Namori
[agc004_f]Namori
問題文
頂点 辺の無向グラフがあります。 ただし、 であり、グラフは連結です。 また、グラフには自己ループや多重辺はありません。
頂点は から まで番号が振られており、辺は から まで番号が振られています。 辺 は頂点 と を結んでいます。
各頂点は白または黒になることができます。 最初、すべての頂点は白です。 高橋君は次の操作を何回か行い、すべての頂点を黒にしようとしています。
- 隣り合う同色の頂点のペアを選び、それらの色をともに反転する。 すなわち、ともに白ならばともに黒へ変え、ともに黒ならばともに白へ変える。
すべての頂点を黒にすることができるか判定し、できるならば必要な操作回数の最小値を求めてください。
制約
- グラフには自己ループや多重辺はない。
- グラフは連結である。
部分点
- 点分のデータセットでは、 が成り立つ。
入力
入力は以下の形式で標準入力から与えられる。
出力
すべての頂点を黒にすることができるならば、必要な操作回数の最小値を出力せよ。 できないならば、代わりに -1
を出力せよ。
入力例 1
6 5
1 2
1 3
1 4
2 5
2 6
出力例 1
5
例えば、図のように操作を行えばよいです。
入力例 2
3 2
1 2
2 3
出力例 2
-1
すべての頂点を黒にすることはできません。
入力例 3
4 4
1 2
2 3
3 4
4 1
出力例 3
2
このケースは部分点のデータセットには含まれません。
入力例 4
6 6
1 2
2 3
3 1
1 4
1 5
1 6
出力例 4
7
このケースは部分点のデータセットには含まれません。