为什么会TLE呀!大佬快教教蒟蒻!
#include <iostream>
using namespace std;
int n, m; bool a[1010][1010], vis[1010];
int dfs(int x) {
int ans = x;
for (int i = 1; i <= n; i++) {
if (a[x][i] && !vis[i]) {
vis[i] = true;
ans = max(dfs(i), ans);
vis[i] = false;
}
}
return ans;
}
int main() {
cin >> n >> m;
for (int i = 1; i <= m; i++) {
int x, y; cin >> x >> y;
a[x][y] = true;
}
for (int i = 1; i <= n; i++)
cout << dfs(i) << " ";
return 0;
}