AT_codefestival_2016_final_c Interpretation
Description
[problemUrl]: https://atcoder.jp/contests/cf16-final/tasks/codefestival_2016_final_c
ある星には $ M $ 種類の言語があり、$ 1\ \sim\ M $ の番号が付けられています。
この星のある年のCODE FESTIVALには星中から $ N $ 人の参加者が集まりました。
$ i\ (1≦i≦N) $ 人目の参加者は $ K_i $ 種類の言語 $ L_{i,1},\ L_{i,2},\ ...,\ L_{i,{}K_i} $ を話すことが出来ます。
ある $ 2 $ 人は以下のいずれかの条件を満たすときに限り、コミュニケーションを取ることが出来ます。
- $ 2 $ 人ともが話すことの出来る言語が存在する。
- ある人 $ X $ が存在して、 $ 2 $ 人ともが $ X $ とコミュニケーションを取ることが出来る。
このとき、$ N $ 人すべての参加者が他のすべての参加者とコミュニケーションを取ることが出来るかどうかを判定してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ K_1 $ $ L_{1,1} $ $ L_{1,2} $ $ ... $ $ L_{1,{}K_1} $ $ K_2 $ $ L_{2,1} $ $ L_{2,2} $ $ ... $ $ L_{2,{}K_2} $ $ : $ $ K_N $ $ L_{N,1} $ $ L_{N,2} $ $ ... $ $ L_{N,{}K_N} $
Output Format
$ N $ 人すべての参加者が他のすべての参加者とコミュニケーションを取ることが出来るなら `YES` を、そうでないなら `NO` を出力せよ。
Explanation/Hint
### 制約
- $ 2≦N≦10^5 $
- $ 1≦M≦10^5 $
- $ 1≦K_i≦M $
- $ K_iの総和≦10^5 $
- $ 1≦L_{i,j}≦M $
- $ L_{i,1},\ L_{i,2},\ ...,\ L_{i,{}K_i} $ は相異なる。
### 部分点
- $ N≦1000 $ かつ $ M≦1000 $ かつ $ K_iの総和≦1000 $ を満たすデータセットに正解した場合は、$ 200 $ 点が与えられる。
- 追加制約のないデータセットに正解した場合は、上記とは別に $ 200 $ 点が与えられる。
### Sample Explanation 1
以下のように、任意の $ 2 $ 人がコミュニケーションをとることが出来ます。 - 人 $ 1 $ と人 $ 2 $:共通の言語 $ 2 $ を話せます。 - 人 $ 2 $ と人 $ 3 $:共通の言語 $ 4 $ を話せます。 - 人 $ 1 $ と人 $ 3 $: $ 2 $ 人とも人 $ 2 $ とコミュニケーションを取ることができます。 - 人 $ 3 $ と人 $ 4 $:共通の言語 $ 6 $ を話せます。 - 人 $ 2 $ と人 $ 4 $: $ 2 $ 人とも人 $ 3 $ とコミュニケーションを取ることができます。 - 人 $ 1 $ と人 $ 4 $: $ 2 $ 人とも人 $ 2 $ とコミュニケーションを取ることができます。 また、誰も話すことの出来ない言語が存在する可能性があることに注意してください。
### Sample Explanation 2
例えば、人 $ 1 $ と人 $ 3 $ はコミュニケーションを取ることができません。