Pagini recente » Profil Sava Patrick | Cod sursa (job #1221096) | Cod sursa (job #3338806) | Cod sursa (job #2549198) | Cod sursa (job #3338850)
#include <bits/stdc++.h>
#define oo 100000001
using namespace std;
ifstream in("topsort.in");
ofstream out("topsort.out");
int n,m;
bitset<100001>viz(0);
set<int> Lista[100001];
stack<int> ST;
void DFS_Top(int x){
viz[x]=1;
for(int i:Lista[x])
if(!viz[i])
DFS_Top(i);
ST.push(x);
}
void Drum(){
for(int i=1;i<=n;++i)
if(!viz[i])DFS_Top(i);
}
int main(){
in>>n>>m;
int x,y;
for(int i=1;i<=m;++i){
in>>x>>y;
Lista[x].insert(y);
}
Drum();
while(!ST.empty()){
out<<ST.top()<<' ';
ST.pop();
}
}