刷道水题,没想到被水题刷了……全WA
#include <bits/stdc++.h>
#define int long long
using namespace std;
int n, m;
int x, y;
vector <int> v[1005];
bool vis[20000];
void dfs (int x, int mx){
if (v[x].size () == 0){
cout << mx << ' ';
return;
}
vis[x] = 1;
for (int i = 0; i < v[x].size (); i ++){
if (vis[v[x][i]] == 0)
dfs (v[x][i], max (mx, v[x][i]));
}
}
signed main(){
cin >> n >> m;
for (int i = 1; i <= m; i ++){
cin >> x >> y;
v[x].push_back (y);
}
for (int i = 1; i <= n; i ++){
memset (vis, 0, sizeof (vis));
dfs (i, i);
}
}