1N, M = map(int, input().split())
2T = list(map(int, input().split()))
3T = set(T[1:])
4
5member = [set() for _ in range(N)]
6party = []
7visit = [False]*M
8
9def explore(n):
10 for i in member[n]:
11 if not visit[i]:
12 visit[i] = True
13 for j in party[i]:
14 explore(j-1)
15
16for i in range(M):
17 lst = list(map(int, input().split()))
18 lst = lst[1:]
19 for j in lst:
20 member[j-1].add(i)
21 party.append(set(lst))
22
23for i in T:
24 explore(i-1)
25
26cnt = 0
27for i in visit:
28 if not i:
29 cnt += 1
30
31print (cnt)
- 내방식대로 푸는데 오래걸렸다
- 유니온 파인드로 푸는 사람도 있었다