Pagini recente » Cod sursa (job #1713752) | Cod sursa (job #343552) | Cod sursa (job #2178684) | Cod sursa (job #1734367) | Cod sursa (job #1984971)
#include <bits/stdc++.h>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
struct nod{int nr; nod *urm;}*a[500001];
stack <int> s; int n,m;
bool viz[50001];
void citire()
{
f>>n>>m;
int i,x,y;
for(i=1;i<=m;i++)
{
f>>x>>y;
nod *p=new nod;
p->urm=a[x];
p->nr=y;
a[x]=p;
}
}
void df(int k)
{
viz[k]=true;
for(nod *p=a[k];p!=NULL;p=p->urm)
if(!viz[p->nr])
df(p->nr);
s.push(k);
}
int main()
{
citire();
for(int i=1;i<=n;i++)
if(!viz[i])
df(i);
while(!s.empty())
g<<s.top()<<" ",s.pop();
return 0;
}