Pagini recente » Cod sursa (job #415099) | Cod sursa (job #2874889) | Cod sursa (job #2853570) | Cod sursa (job #2854476) | Cod sursa (job #409620)
Cod sursa(job #409620)
#include<fstream>
#include<vector>
#define NMAX 50003
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
vector<int>A[NMAX];
struct noduri{int n; int t2;} nod[NMAX];
int n,m,i,x,y,j,t,vz[NMAX];
vector<int>L;
void dfs(int);
int main()
{
fin>>n>>m;
for (i=1;i<=m;i++)
{
fin>>x>>y;
A[x].push_back(y);
}
for (i=1;i<=n;i++)
nod[i].n=i;
t=1;
for (i=1;i<=n;i++)
if (!vz[i])
dfs(i);
for (i=L.size()-1;i>=0;i--)
fout<<L[i]<<' ';
fout.close();
return 0;}
void dfs(int x)
{int i;
vz[x]=1;
for (i=0;i<A[x].size();i++)
if (!vz[A[x][i]])
{
++t;
dfs(A[x][i]);
}
++t;
nod[x].t2=t;
L.push_back(x);
}