80分dfs,超时求解
查看原帖
80分dfs,超时求解
1020629
The_Leaf_of_Wind楼主2023/9/30 10:14
#include<bits/stdc++.h>
#include<vector>
using namespace std;
const int N=100005;
vector<int> a[N];
int n,m,ma,x[N],y[N],dp[N];
void d(int t){
	if(dp[t]) return ;
	dp[t]=1;
	ma=max(ma,t);
	for(int i=0;i<a[t].size();i++){
		d(a[t][i]);
	}
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>x[i]>>y[i];
		a[x[i]].push_back(y[i]);
	}
	for(int i=1;i<=n;i++){
		ma=0;
		memset(dp,0,sizeof(dp));
		d(i);
		cout<<ma<<" ";
	}
	return 0;
}

80记录

2023/9/30 10:14
加载中...