Pagini recente » Cod sursa (job #1042546) | Cod sursa (job #2350885) | Cod sursa (job #1263520) | Cod sursa (job #969332) | Cod sursa (job #2433785)
#include <fstream>
#include <bitset>
#include <vector>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
#define N 50005
vector <int> G[N];
bitset <N> viz;
int n,m,i,k,x,y;
int topsort[N];
void DFS(int x)
{
viz[x]=1;
vector < int > :: iterator it;
for(it=G[x].begin(); it<G[x].end(); it++)
if(!viz[*it])
DFS(*it);
topsort[++k]=x;
}
int main()
{
in>>n>>m;
for(i=1; i<=m; i++)
{
in>>x>>y;
G[x].push_back(y);
}
for(i=1; i<=n; i++)
if(!viz[i])
DFS(i);
for(i=n; i>=1; i--)
out<<topsort[i]<<" ";
}