代码:```cpp
#include<bits/stdc++.h>
using namespace std;
const int N=5e3+10;
vector e[N];
int in[N],out[N],n,ans,m,u,v,us[N];
void topsort(){
queue q;
for(int i=1;i<=n;i++){
if(in[i]==0){
q.push(i);
ans++;
}
}
while(!q.empty()){
int u=q.front();
q.pop();
for(int i=0,sz=e[u].size();i<sz;i++){
if(us[e[u][i]]!=0){
int v=e[u][i];
in[v]--;
if(in[v]==0){
q.push(v);
ans++;
}
}
}
}
return ;
}
int main(){
cin>>n;
for(int j=1;j<=n;j++){
cin>>u>>m;
us[u]=1;
for(int i=0;i<m;i++){
cin>>v;
e[u].push_back(v);
out[u]++;
in[v]++;
}
}
topsort();
if(ans==n){
cout<<"YES";
}
else{
cout<<n-ans;
}
return 0;
}