Pagini recente » Cod sursa (job #3213958) | Cod sursa (job #2207463) | Cod sursa (job #2586597) | Cod sursa (job #140664) | Cod sursa (job #2294453)
#include <bits/stdc++.h>
#define NN 100001
using namespace std;
ifstream f("topsort.in");
ofstream g("topsort.out");
int n,v[NN],m,i;
list <int>F;
vector <int>G[NN];
void dfs(int x)
{
v[x]=1;
for(vector<int>::iterator I=G[x].begin();I<G[x].end();I++)
if(v[*I]==0)dfs(*I);
F.push_front(x);
}
int main()
{
f>>n>>m;
for(i=1;i<=m;i++)
{
int x,y;
f>>x>>y;
G[x].push_back(y);
}
for(int i=1;i<=n;i++)
if(v[i]==0)dfs(i);
for(list<int>::iterator x=F.begin();x!=F.end();x++)
g<<*x<<" ";
return 0;
}