グラフが二部グラフかどうかを判定
あるグラフが、隣接するどの頂点同士も同じ色にならないように、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 | Yes |
3 2 | Yes |
3 3 | No |
Constraints
Time limit: 2 seconds
Memory limit: 512 MB
Output limit: 1 MB