WA10 求条

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,ans;
vector<int>a[100005];
int anss[100005];
bool vis[100005];
void dfs(int x){
	ans=max(ans,x);
	int len=a[x].size();
	for(int i=0;i<len;i++){
		if(vis[a[x][i]]==0){
			vis[a[x][i]]=1;
			if(anss[a[x][i]]!=-1){
				ans=max(ans,anss[a[x][i]]);
			}else dfs(a[x][i]);
		}
	}
	anss[x]=ans;
}
signed main(){
	memset(anss,-1,sizeof anss);
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int u,v;
		cin>>u>>v;
		a[u].push_back(v);
	}
	for(int i=1;i<=n;i++){
		ans=0;
		memset(vis,0,sizeof vis);
		vis[i]=1;
		dfs(i);
		anss[i]=ans;
		cout<<ans<<" ";
	}
	return 0;
}

[quote=“string dp[100005], post:1, topic:34845, username:张乐凡”]

is,0,sizeof vis);
		vis[i]=1;

[/quote]
没看懂你这什么操作,vis还memset了?

[quote=“string dp[100005], post:1, topic:34845, username:张乐凡”]

		memset(vis,0,sizeof vis);
		vis[i]=1;

[/quote]

memset(vis,0,sizeof vis)是什么神奇的操作qoq