Pagini recente » Cod sursa (job #2471690) | Cod sursa (job #1919920) | Cod sursa (job #1727746) | Cod sursa (job #241377) | Cod sursa (job #2717713)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
struct nod{
int info;
nod *urm;
};
nod *v[10010];
int viz[10010],n,m,x,y,cnt,sol[10010];
void addnod(int x, int y)
{
nod *q;
q=new nod;
q->urm=v[x];
q->info=y;
v[x]=q;
}
void dfs(int k)
{
nod*q;
viz[k]=1;
q=v[k];
while (q!=NULL)
{
if (viz[q->info]==0)
{
viz[q->info]=1;
dfs(q->info);
}
q=q->urm;
}
sol[++cnt]=k;
}
int main()
{
int i;
fin>>n>>m;
for (i=1;i<=m;i++)
{
fin>>x>>y;
addnod(x,y);
}
for (i=1;i<=n;i++)
if (viz[i]==0)
dfs(i);
for (i=cnt;i>=1;i--)
fout<<sol[i]<<" ";
return 0;
}