TOO SHORT ON LINE 1
查看原帖
TOO SHORT ON LINE 1
929192
Tx1234567楼主2024/8/27 20:31
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<int> a[100010];
int vis[100010];
int n, m;
int bfs(int s){
	queue<int> q;
	int maxx = s;
	q.push(s);
	memset(vis,0,sizeof(vis));
	vis[s] = 1;
	while(q.size()){
		int x = q.front();
		q.pop();
		for (int i = 0;i<a[x].size();i++){
			if (vis[a[x][i]]) continue;
			vis[a[x][i]] = 1;
			q.push(a[x][i]);
			maxx = max(maxx,a[x][i]);
			if (maxx==n) return n;
		}
	}
	return maxx;
}
int main(){
	cin>>n>>m;
	for (int i = 1;i<=m;i++){
		int x, y;
		cin>>x>>y;
		a[x].push_back(y);
	}
	for (int i = 1;i<n;i++){
		cout<<bfs(i)<<endl;
	}
	cout<<n;
	return 0;
}

2024/8/27 20:31
加载中...