Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define ll long long
- #define lim 200005
- vector<int> edge[lim];
- vector<int> ans;
- long long int vis[lim];
- void dfs(int u)
- {
- vis[u] = 1; //processing
- for (int i = 0; i < edge[u].size(); i++)
- {
- int v = edge[u][i];
- if (!vis[v])
- {
- dfs(v);
- }
- }
- vis[u] = 2; //done
- }
- int main()
- {
- int n, e, u, v;
- cin >> n >> e;
- for (int i = 1; i <= e; i++)
- {
- cin >> u >> v;
- edge[u].push_back(v);
- //edge[v].push_back(u);
- }
- for (int i = 1; i <= n; i++)
- {
- if (!vis[i])
- {
- dfs(i);
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement