1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| #include<bits/stdc++.h> using namespace std; const int N = 1e5+9;
vector<int> g[N];
bitset<N> vis;
void dfs(int x) { vis[x] = true; for(auto &y : g[x]) { if(vis[y]) continue; dfs(y); } }
int main() { ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); int n,m;cin >> n >> m; int u,v; while(m--) { cin >> u >> v; if(u != v) g[u].push_back(v); } dfs(1); for(int i = 1;i <= n;++i)if(vis[i]) cout << i << ' '; }
|