Time Limit: 2 sec / Memory Limit: 256 MB
配点 : 400 点
問題文
ある星には 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 人すべての参加者が他のすべての参加者とコミュニケーションを取ることが出来るかどうかを判定してください。
制約
- 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 点が与えられる。
入力
入力は以下の形式で標準入力から与えられる。
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}
出力
N 人すべての参加者が他のすべての参加者とコミュニケーションを取ることが出来るなら YES
を、そうでないなら NO
を出力せよ。
入力例 1
4 6 3 1 2 3 2 4 2 2 4 6 1 6
出力例 1
YES
以下のように、任意の 2 人がコミュニケーションをとることが出来ます。
- 人 1 と人 2:共通の言語 2 を話せます。
- 人 2 と人 3:共通の言語 4 を話せます。
- 人 1 と人 3: 2 人とも人 2 とコミュニケーションを取ることができます。
- 人 3 と人 4:共通の言語 6 を話せます。
- 人 2 と人 4: 2 人とも人 3 とコミュニケーションを取ることができます。
- 人 1 と人 4: 2 人とも人 2 とコミュニケーションを取ることができます。
また、誰も話すことの出来ない言語が存在する可能性があることに注意してください。
入力例 2
4 4 2 1 2 2 1 2 1 3 2 4 3
出力例 2
NO
例えば、人 1 と人 3 はコミュニケーションを取ることができません。
Score : 400 points
Problem Statement
On a planet far, far away, M languages are spoken. They are conveniently numbered 1 through M.
For CODE FESTIVAL 20XX held on this planet, N participants gathered from all over the planet.
The i-th (1≦i≦N) participant can speak K_i languages numbered L_{i,1}, L_{i,2}, ..., L_{i,{}K_i}.
Two participants A and B can communicate with each other if and only if one of the following conditions is satisfied:
- There exists a language that both A and B can speak.
- There exists a participant X that both A and B can communicate with.
Determine whether all N participants can communicate with all other participants.
Constraints
- 2≦N≦10^5
- 1≦M≦10^5
- 1≦K_i≦M
- (The sum of all K_i)≦10^5
- 1≦L_{i,j}≦M
- L_{i,1}, L_{i,2}, ..., L_{i,{}K_i} are pairwise distinct.
Partial Score
- 200 points will be awarded for passing the test set satisfying the following: N≦1000, M≦1000 and (The sum of all K_i)≦1000.
- Additional 200 points will be awarded for passing the test set without additional constraints.
Input
The input is given from Standard Input in the following 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
If all N participants can communicate with all other participants, print YES
. Otherwise, print NO
.
Sample Input 1
4 6 3 1 2 3 2 4 2 2 4 6 1 6
Sample Output 1
YES
Any two participants can communicate with each other, as follows:
- Participants 1 and 2: both can speak language 2.
- Participants 2 and 3: both can speak language 4.
- Participants 1 and 3: both can communicate with participant 2.
- Participants 3 and 4: both can speak language 6.
- Participants 2 and 4: both can communicate with participant 3.
- Participants 1 and 4: both can communicate with participant 2.
Note that there can be languages spoken by no participant.
Sample Input 2
4 4 2 1 2 2 1 2 1 3 2 4 3
Sample Output 2
NO
For example, participants 1 and 3 cannot communicate with each other.