过第一点,其他全MLE,求调代码
查看原帖
过第一点,其他全MLE,求调代码
764059
mrbhsj楼主2024/7/25 10:26
#include<bits/stdc++.h>
using namespace std;
int mp[10005][10005],l[1000005],sum[1000005];
int k,n,m;
bool d[10000005];
void dfs(int u){
	++sum[u];
	d[u]=false;
	for(int i=1;i<=n;i++){
		if(mp[u][i]==1 and !d[u]){
			dfs(i);
		}
	}
}
int main(){
	
	cin>>k>>n>>m;
	if(k==1){
		int p;
		cin>>p;
		cout<<p<<endl;
	}
	for(int i=1;i<=k;i++){
		cin>>l[i];
	}
	for(int i=1;i<=m;i++){
		int u,v;
		cin>>u>>v;
		mp[u][v]=1;
	}
	for(int i=1;i<=k;i++){
		memset(d,true,sizeof(d));
		d[l[i]]=false;
		dfs(l[i]);	
	}
	int ans=0;
	for(int i=1;i<=n;i++){
		if(sum[i]==k) ans++;
	}
	cout<<ans;
}
2024/7/25 10:26
加载中...