Pagini recente » Cod sursa (job #2100584) | Cod sursa (job #966111) | Cod sursa (job #1905041) | Cod sursa (job #1740780) | Cod sursa (job #398189)
Cod sursa(job #398189)
#include<fstream>
#define nmax 50002
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
struct nod
{int inf;
struct nod *urm;
};
nod *l[nmax];
int viz[nmax],postordine[nmax],nr=0;
void dfs(int x)
{nod *c;
viz[x]=1;
for(c=l[x];c!=NULL;c=c->urm)
if(viz[c->inf]==0) dfs(c->inf);
nr++;
postordine[nr]=x;
}
int main()
{int x,y,i,n=0;
nod *nou;
while(fin>>x>>y)
{nou=new nod;
nou->inf=y;
nou->urm=l[x];
l[x]=nou;
if(x>n) n=x;
if(y>n) n=y;
}
for(i=1;i<=n;i++)
if(viz[i]==0)
dfs(i);
for(i=n;i>=1;i--)
fout<<postordine[i]<<" ";
fin.close();
fout.close();
return 0;
}