#include <bits/stdc++.h>
using namespace std ;
  const int N=1600,M=5*N;
 
 int n,in[N],nxt[M],go[M],hd[N],all=1,f[N][2];
 void add(int x,int y){
 	go[++all]=y,nxt[all]=hd[x],hd[x]=all;
 }
 void dp(int x,int last){
 	int i,y; f[x][1]=1;
 	
 	for(i=hd[x];i;i=nxt[i]){
 		y=go[i]; 
 		if(y!=last){
 			dp(y,x);
 			f[x][0]+=f[y][1]; f[x][1]+=min(f[y][0],f[y][1]);
 		}
 	}
 }
 signed main(){
 	int i,t,x,y; 
 	cin>>n;
 	for(i=1;i<=n;i++){
 		cin>>x>>t; ++x;
 		while(t--) cin>>y,in[++y]++,add(x,y),add(y,x); 
 	}
 	for(t=1;in[t];) t++;
 	
 	dp(t,0); 
 	cout<<min(f[t][1],f[t][0]);
 }
 
 

 

posted on 2023-02-20 17:48  towboat  阅读(25)  评论(0)    收藏  举报