广搜时输出顺序的问题

B3644 【模板】拓扑排序 / 家谱树

完整代码 ```cpp #include <bits/stdc++.h> using namespace std; using ll = long long; using pll = pair<ll, ll>; const int N = 115; vector<int>g[N]; queue<int>q; int n, deg[N]; void inint() { int t; cin >> n; for (int i = 1; i <= n; i++) { while (cin >> t ) { if (t == 0) break; g[i].push_back(t); deg[t]++; } } } int main() { inint(); for (int i = 1; i <= n; i++) { if (deg[i] == 0) { q.push(i); } } while (q.size()) { int u = q.front(); q.pop(); printf("%d ", u); for (int v : g[u]) { deg[v]--; if (deg[v] == 0) { q.push(v); } } } return 0; } ````
by MinLand @ 2024-06-14 14:20:14


你找入度为0的点的时候,找到一个直接break掉了
by yuyc @ 2024-06-14 15:50:24


@[yuyc](/user/239562) wssb
by MinLand @ 2024-06-17 13:10:26


|