グラフが二部グラフかどうかを判定
あるグラフが、隣接するどの頂点同士も同じ色にならないように、2色で彩色できる場合、そのグラフは二部グラフ(二分グラフ)と呼ばれます。
グラフが二部グラフであるかどうかを判定すると、スケジューリングやリソース割り当て、衝突回避といった分野で有効な構造や性質を把握できます。また、二部グラフを活用すれば、最大マッチングやグラフ彩色などのアルゴリズムを簡略化でき、より効率的な最適化が可能です。
あなたには
v
個の頂点と e
個の辺をもつ無向グラフが与えられます。このグラフが二部グラフかどうかをチェックしてください。 入力
最初の行には、整数
v
(1 ≤ v ≤ 100 000) と e
(1 ≤ e ≤ 100 000) が与えられます。続く
e
行には、それぞれ v1
と v2
(1 ≤ v1, v2 ≤ v) のペアが記載されます。これは頂点 v1
と頂点 v2
が互いに接続していることを表します。 出力
もし与えられたグラフが二部グラフであれば
Yes
、そうでなければ No
を出力してください。 例
Input | Output |
2 1
2 1 | Yes |
3 2
2 1
1 3 | Yes |
3 3
1 2
1 3
2 3 | No |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB