请问我这份代码为什么会MLE?
查看原帖
请问我这份代码为什么会MLE?
203102
Diamiko楼主2020/5/2 18:38

搞不懂……一个AC,九个MLE

#include<bits/stdc++.h>
using namespace std;
inline int read()
{
	char c;int res=0,flag=1;
	for(;!isdigit(c);c=getchar())if(c=='-')flag=-1;
	for(;isdigit(c);c=getchar())res=res*10+c-'0';
	return res*flag;
}
vector<int>G[1002];
vector<int>cow;
int cnt[1002];
bool vis[1002];
int n,k,m,ans;
void dfs(int u)
{
	cnt[u]++;
	vis[u]=1;
	for(int v:G[u])
	{
		dfs(v);
	}
}
int main()
{
	k=read(),n=read(),m=read();
	for(int i=1;i<=k;i++)
	{
		cow.push_back(read());
	}
	for(int i=1;i<=m;i++)
	{
		int u=read(),v=read();
		G[u].push_back(v);
	}
	for(int i:cow)
	{
		memset(vis,0,sizeof vis);
		dfs(i);
	}
	for(int i=1;i<=n;i++)
	{
		if(cnt[i]==k)ans++;
	}
	printf("%d\n",ans);
	return 0;
}
2020/5/2 18:38
加载中...