68pts求调
查看原帖
68pts求调
791222
lby_commandBlock楼主2024/8/27 23:08
  • 置顶 回复时请 at:

@lby_commandBlock


[提交记录链接]

提交记录代码:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;

const int N = 1e3 + 9;

vector<int> e[N];

int n, m, ans, f[N];

bool vis[N];

void dfs(int root) {
	if (f[root]) {
		ans = max(ans, f[root]);
		return;
	}

	ans = max(ans, root);
	if (e[root].size() == 0)
		return;

	for (auto node : e[root]) {
		if (!vis[node]) {
			vis[node] = true;
			dfs(node);
			vis[node] = false;
		}
	}
}

int main() {
	cin >> n >> m;
	for (int i = 1; i <= m; i++) {
		int x, y;
		cin >> x >> y;
		e[x].push_back(y);
	}
	for (int i = 1; i <= n; i++) {
		ans = 0;
		vis[i] = true;
		dfs(i);
		vis[i] = false;
		cout << (f[i] = ans) << ' ';
	}
	cout << endl;
	return 0;
}

求条 ∼\sim

2024/8/27 23:08
加载中...