求调
查看原帖
求调
1272630
Norton_genitals楼主2025/1/23 11:24
#include<bits/stdc++.h>
using namespace std;
int k,n,m,mapp[1005][1005],ans,cow[105],f,l,vis[1005][1005],hou[1005]={0},fl;
bool visited[1005][1005];
void dfs(int now){
	hou[now]++;
	visited[fl][now]=1;
	for(int i=1;i<=n;i++){
		if(mapp[now][i]&&!visited[now][i]){	
			visited[now][i]=1;
			fl=now;
			dfs(i);
		}
	}
}
int main(){
	cin>>k>>n>>m;
	for(int i=1;i<=k;i++){cin>>cow[i];}
	for(int i=1;i<=m;i++){
		cin>>f>>l;
		mapp[f][l]=1;
	}
	//cout<<endl;	
	for(int i=1;i<=k;i++){
		memset(visited,0,sizeof(visited));
		dfs(cow[i]);
	}
	for(int i=1;i<=n;i++){
		if(hou[i]>=k){
			ans++;
		}
	}
	cout<<ans;
	return 0;
} 
2025/1/23 11:24
加载中...