AT_past202107_j 終わりなき旅
Description
[problemUrl]: https://atcoder.jp/contests/past202107-open/tasks/past202107_j
高橋王国には $ N $ 個の都市があり、それぞれ都市 $ 1 $、都市 $ 2 $、$ \ldots $、都市 $ N $ と呼ばれています。
また、高橋王国には $ M $ 本の一方通行の道路があり、 $ i $ 番目の道路を通って都市 $ u_i $ から都市 $ v_i $ に移動することができます。
(道路は一方通行であるため、都市 $ v_i $ から都市 $ u_i $ には移動できないことに注意してください。)
高橋王国に観光旅行にやってきた青木王国の青木君は、$ N $ 個の都市のいずれかから出発し、 青木王国に帰るまでの間、以下の手順を繰り返して旅行をします。
- 青木君が現在いる都市から道路をちょうど $ 1 $ 本通って移動可能な都市が存在するならば、移動可能な都市の中から $ 1 $ つを選び、そこに移動する。
- 青木君が現在いる都市から道路をちょうど $ 1 $ 本通って移動可能な都市が存在しなければ、青木君は青木王国に帰る。
青木君が、出発する都市を適切に選択し、旅行中の移動先の都市を適切に選択しつづけることで、 青木王国に帰ることなくいくらでも旅行を続けることができるかどうか判定してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ u_1 $ $ v_1 $ $ u_2 $ $ v_2 $ $ \vdots $ $ u_M $ $ v_M $
Output Format
青木君がいくらでも旅行を続けることができるなら `Yes` と出力し、 そうでなければ `No` と出力してください。
Explanation/Hint
### 注意
この問題に対する言及は、2021/7/17 18:00 JST まで禁止されています。言及がなされた場合、賠償が請求される可能性があります。 試験後に総合得点や認定級を公表するのは構いませんが、どの問題が解けたかなどの情報は発信しないようにお願いします。
### 制約
- $ 1\ \leq\ N\ \leq\ 2\ \times\ 10^5 $
- $ 0\ \leq\ M\ \leq\ 2\ \times\ 10^5 $
- $ 1\ \leq\ u_i,\ v_i\ \leq\ N $
- $ u_i\ \neq\ v_i $
- $ i\ \neq\ j\ \Rightarrow\ (u_i,\ v_i)\ \neq\ (u_j,\ v_j) $
- 入力はすべて整数である。
### Sample Explanation 1
青木君は、都市 $ 1 $ から出発し、都市 $ 1 $ $ \rightarrow $ 都市 $ 2 $ $ \rightarrow $ 都市 $ 1 $ $ \rightarrow $ 都市 $ 2 $ $ \rightarrow $ 都市 $ 1 $ $ \rightarrow\ \cdots $ と移動を繰り返すことで、旅行をいくらでも続けることができます。