#include<bits/stdc++.h>
#define fr(i,m) for(int i=0;i<m;i++)
using namespace std;
long vis[12010]={0},cnt=0;
vector<long>vec[100010];
long dfs(long n)
{
long i1;
if(vis[n]==1)
return 0;
if(vis[n]==0)
cnt++;
vis[n]=1;
for(i1=0;i1<vec[n].size();i1++)
{
dfs(vec[n][i1]);
}
return cnt;
}
main()
{
long ts;
cin>>ts;
while(ts--)
{
long a,b,c,x,y,x1,ans=0,i;
cin>>a>>b>>c;
for(i=0;i<b;i++)
{
cin>>x>>y;
vec[x].push_back(y);
}
for(i=0;i<c;i++)
{
cin>>x1;
cnt=0;
ans+=dfs(x1);
}
cout<<ans<<endl;
for(i=0;i<10010;i++)
{
vis[i]=0;
vec[i].clear();
}
}
}
#define fr(i,m) for(int i=0;i<m;i++)
using namespace std;
long vis[12010]={0},cnt=0;
vector<long>vec[100010];
long dfs(long n)
{
long i1;
if(vis[n]==1)
return 0;
if(vis[n]==0)
cnt++;
vis[n]=1;
for(i1=0;i1<vec[n].size();i1++)
{
dfs(vec[n][i1]);
}
return cnt;
}
main()
{
long ts;
cin>>ts;
while(ts--)
{
long a,b,c,x,y,x1,ans=0,i;
cin>>a>>b>>c;
for(i=0;i<b;i++)
{
cin>>x>>y;
vec[x].push_back(y);
}
for(i=0;i<c;i++)
{
cin>>x1;
cnt=0;
ans+=dfs(x1);
}
cout<<ans<<endl;
for(i=0;i<10010;i++)
{
vis[i]=0;
vec[i].clear();
}
}
}
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন