Pagini recente » Cod sursa (job #1776266) | Cod sursa (job #3352475) | Cod sursa (job #1037561) | Cod sursa (job #2254629) | Cod sursa (job #2568431)
#include <fstream>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
struct nod{int info; nod *urm;};
nod *L[50010];
int n,m,x,y,viz[50010],k,st[50010];
void adauga(int i,int j)
{
nod *p=new nod;
p->info=j;
p->urm=L[i];
L[i]=p;
}
void dfs(int i)
{
viz[i]=1;
nod *p=new nod;
p=L[i];
while(p)
{
if(viz[p->info]==0)dfs(p->info);
p=p->urm;
}
st[++k]=i;
}
int main()
{
fin>>n>>m;
for(int i=1;i<=n;i++)
{
fin>>x>>y;
adauga(x,y);
}
for(int i=1;i<=n;i++)if(viz[i]==0)dfs(i);
for(int i=k;i>=1;i--)fout<<st[i]<<" ";
return 0;
}