diff --git a/fontes/topo.h b/fontes/topo.h index 0a3530e395c2117fd3fd7dd72be8344050506708..285df03d14fbd701398caa9639b07e7f649dfe1d 100644 --- a/fontes/topo.h +++ b/fontes/topo.h @@ -1,19 +1,19 @@ vector<bool> vis (N); stack<int> st; void dfs_topo(int u) { - if (vis[u]) { return; } - vis[u] = 1; - for (int v : g[u]) { dfs_topo(v); } - st.push(u); + if (vis[u]) { return; } + vis[u] = 1; + for (int v : g[u]) { dfs_topo(v); } + st.push(u); } vector<int> toposort(int n) { fill(visited.begin(), visited.begin() + n, false); - vector<int> topo; - for (int u = 0; u < n; u++) { dfs_topo(u); } - while (!st.empty()) { - int v = st.top(); st.pop(); - topo.push_back(v); - } - return topo; + vector<int> topo; + for (int u = 0; u < n; u++) { dfs_topo(u); } + while (!st.empty()) { + int v = st.top(); st.pop(); + topo.push_back(v); + } + return topo; }