Pagini recente » Cod sursa (job #1120211) | Cod sursa (job #733511) | Cod sursa (job #779042) | Cod sursa (job #2320829) | Cod sursa (job #1849443)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,x,y;
struct nod{
int vecin;
struct nod *urm;
}*l[50003],*actual;
bool viz[50003];
int sol[50003];
int nr;
void df(int k)
{
struct nod *actual;
viz[k]=true;
actual=l[k];
while(actual!=NULL)
{
if(viz[actual->vecin]==false)
{
df(actual->vecin);
}
actual=actual->urm;
}
++nr;
sol[nr]=k;
}
int main()
{
f>>n>>m;
int i;
for(i=1;i<=m;i++)
{
f>>x>>y;
actual=new nod;
actual->vecin=y;
actual->urm=l[x];
l[x]=actual;
}
for(i=1;i<=n;i++)
{
if(viz[i]==0)
df(i);
}
for(i=nr;i>=1;i--)
g<<sol[i]<<" ";
return 0;
}