グラフが二部グラフかどうかを判定

あるグラフが、隣接するどの頂点同士も同じ色にならないように、2色で彩色できる場合、そのグラフは二部グラフ(二分グラフ)と呼ばれます。
グラフが二部グラフであるかどうかを判定すると、スケジューリングやリソース割り当て、衝突回避といった分野で有効な構造や性質を把握できます。また、二部グラフを活用すれば、最大マッチングやグラフ彩色などのアルゴリズムを簡略化でき、より効率的な最適化が可能です。
あなたには v 個の頂点と e 個の辺をもつ無向グラフが与えられます。このグラフが二部グラフかどうかをチェックしてください。

入力

最初の行には、整数 v (1 ≤ v ≤ 100 000) と e (1 ≤ e ≤ 100 000) が与えられます。
続く e 行には、それぞれ v1v2 (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

To check your solution you need to sign in
Sign in to continue