样例过了, 0pts
查看原帖
样例过了, 0pts
960206
topcsa楼主2024/8/11 20:46
#include <bits/stdc++.h>
using namespace std;
vector<int> g[1010];
int n, m;
int vis[1010];
int ans = -1e9;
void dfs(int u, int fa, int now) {
	// cout << u << endl;
	ans = max(ans, u);
	vis[u] = 1;
	for (auto v : g[u]) {
		// cout << "tmpu" << u << "tmpv:" << v << endl;
		if (vis[v] == 0) {
			// cout << "v:"<<v<<endl;
			dfs(v, u, now);
		}
	}
}
int main()
{	
	cin >> n >> m;
	for (int i = 1; i <= m; i++) {
		int u, v;
		cin >> u >> v;
		g[u].push_back(v);
	}
	// for (int i = 1; i <= n; i++) 
	// 	cout << g[i].size() << endl;
	for (int i = 1; i <= n; i++) {
		memset(vis, 0, sizeof vis);
		dfs(i, 0, i);
		cout << ans << '\n';
		ans = -1e9;
	}
	return 0;
}
2024/8/11 20:46
加载中...