diff --git a/problem/P3916/P3916.cpp b/problem/P3916/P3916.cpp new file mode 100644 index 00000000..8f468419 --- /dev/null +++ b/problem/P3916/P3916.cpp @@ -0,0 +1,32 @@ +#include + +using namespace std; + +int n, m, u, v, a[100010]; +vector g[100010]; + +void dfs(int x, int d) { + if (a[x]) { + return; + } + a[x] = d; + for (int i = 0; i < g[x].size(); i++) { + dfs(g[x][i], d); + } +} + +int main() { + cin >> n >> m; + for (int i = 0; i < m; i++) { + cin >> u >> v; + g[v].push_back(u); + } + for (int i = n; i > 0; i--) { + dfs(i, i); + } + for (int i = 1; i <= n; i++) { + cout << a[i] << ' '; + } + cout << endl; + return 0; +}