c++90分(超痛苦)求助
查看原帖
c++90分(超痛苦)求助
983702
lrj3247楼主2023/7/24 17:05

调了半天也没发现哪里有问题?

测试只有#7错了,超疑惑。 下面是我的c++代码

#include <bits/stdc++.h>
using namespace std;
int k,n,m,cow[101],f[1001],s[10001],e[10001],ans,fa[1001];
bool vis[1001];
vector <int> q[10001];
int dfs(int num,int now)
{
	f[now]+=num;
	int len=q[now].size(),x=len;
	for(int i = 1 ; i<=len ; i++)
	{
		--x;
		if(vis[q[now][x]]==true)
		{
			vis[q[now][x]]=false;
			dfs(num,q[now][x]);
		}
	}
}
int main()
{
	cin>>k>>n>>m;
	for(int i = 1 ; i<=k ; i++)
	{
		cin>>cow[i];
		fa[cow[i]]++;
	}
	for(int i = 1 ; i<=m ; i++)
	{
		cin>>s[i]>>e[i];
		q[s[i]].push_back(e[i]);
	}
	for(int i = 1 ; i<=n  ; i++)
	{
		if(fa[i]>0)
		{
			memset(vis,true,sizeof(vis));
			dfs(fa[i],i);
		}
	}
	for(int i = 1 ; i<=n ; i++)
	{
		if(f[i]>=k)
		ans++;
	}
	cout<<ans;
	return 0;
}
2023/7/24 17:05
加载中...