atcoder#AGC014B. [AGC014B] Unplanned Queries

[AGC014B] Unplanned Queries

题目描述

高橋君は木の問題が苦手です。そこで、青木君は高橋君の練習相手になってあげることにしました。

まず、高橋君は N N 頂点からなる木を用意し、頂点に 1 1 から N N の番号を付けました。 そして、各辺に 0 0 と書きました。

次に、青木君は高橋君に M M 個のクエリを与えました。i i 個目のクエリは以下のような内容です。

  • 頂点 ai a_i と頂点 bi b_i を結ぶパス上の辺すべてに対して、書かれている数を 1 1 増やす。

全てのクエリを終えた後、高橋君は青木君にどの辺を見ても書かれている数が偶数になったと伝えました。 しかし、青木君は最初に高橋君が用意していた木を確認していなかったので、 高橋君が正しくクエリを処理できたか分かりませんでした。

青木君を助けるために、高橋くんの言う性質を満たす木が存在するかどうかを判定してください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M a1 a_1 b1 b_1 : aM a_M bM b_M

输出格式

高橋くんの言う性質を満たす木が存在するならば YES を、存在しないならば NO を出力せよ。

题目大意

高桥君有一棵NN个点的树,一开始每条边上都有一个边权00。青木君在树上做了MM个操作,每个操作会把点aia_ibib_i之间的边边权都+1+1

最后树上所有边权都是偶数,问是否真的存在这样的树。

4 4
1 2
2 4
1 3
3 4
YES
5 5
1 2
3 5
5 1
3 4
2 3
NO

提示

制約

  • 2  N  105 2\ ≦\ N\ ≦\ 10^5
  • 1  M  105 1\ ≦\ M\ ≦\ 10^5
  • 1  ai,bi  N 1\ ≦\ a_i,b_i\ ≦\ N
  • ai  bi a_i\ ≠\ b_i

Sample Explanation 1

例えば、頂点 1 1 と頂点 2,3,4 2,3,4 が辺で結ばれているような木を高橋君が持っている場合は、高橋くんの言っていることは正しいです。 この場合、クエリをすべて終えた後各辺に書かれている数はどれも 2 2 になります。