- 从k个奶牛分别dfs,用cnt[i]表示第i个牧场可以被多少头奶牛抵达,只有cnt[i]==k的牧场满足条件。
const int N=1010;
vector<int> g[N];
int cow[110];
int cnt[N];
bool vis[N];
int k,n,m;
void dfs(int u)
{
vis[u]=true;
cnt[u]++;
for(int i=0;i<g[u].size();i++)
{
int j=g[u][i];
if(vis[j]) continue;
dfs(j);
}
}
int main()
{
cin>>k>>n>>m;
for(int i=0;i<k;i++) cin>>cow[i];
while(m--)
{
int a,b;
cin>>a>>b;
g[a].push_back(b);
}
for(int i=0;i<k;i++)
{
memset(vis,0,sizeof vis);
dfs(cow[i]);
}
int res=0;
for(int i=1;i<=n;i++)
if(cnt[i] == k)
res++;
cout<<res<<endl;
//system("pause");
}