正向加边 WA on #2,8,10 求调
查看原帖
正向加边 WA on #2,8,10 求调
543555
_Emperorpenguin_楼主2024/10/24 22:39
#include <bits/stdc++.h>
#pragma GCC optmize(2)
#define debug puts("done")
using namespace std;

int n,m,u,v;
vector<int> e[100005];
int dp[100005],vis[100005];

void dfs(int u){
	dp[u]=u;
	for(int i=0;i<e[u].size();i++){
		int v=e[u][i];
		while(vis[v]<=e[v].size()) vis[v]++,dfs(v);
		dp[u]=max(dp[u],dp[v]);
	}
	return;
}

signed main(){
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);

	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>u>>v;
		e[u].push_back(v);
	}
	for(int i=1;i<=n;i++){
		while(vis[i]<=e[i].size()) vis[i]++,dfs(i);
		cout<<dp[i]<<" ";
	}
	return 0;
}
2024/10/24 22:39
加载中...