Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define PI 2*asin(1)
- #define FOR(i,n) for(long long i = 0; i < n;i++)
- using namespace std;
- vector<vector<int>>a(100000);
- //vector<vector<int>>b;
- string toBinStr(long long a){
- return bitset<32>(a).to_string();
- }
- vector<int>used;
- vector <int>res;
- int p = -1;
- bool f = false;
- bool f1 = false;
- void dfs(int v){
- used[v] = 1;
- for(int i : a[v])
- if (!used[i])
- dfs(i);
- used[v] = 2;
- res.push_back(v+1);
- }
- int main(){
- ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
- long long n,m;
- cin >> n >> m;
- FOR(i,n) used.push_back(0);
- FOR(i,m){
- int x,y; cin >> x >> y;
- x--;y--;
- a[x].push_back(y);
- }
- FOR(i,n)
- if(!used[i])
- dfs(i);
- reverse(res.begin(),res.end());
- for(int i : res) cout << i << ' ' ;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement