Pagini recente » Cod sursa (job #2302921) | Cod sursa (job #2336801) | Cod sursa (job #1812454) | Cod sursa (job #3004300) | Cod sursa (job #1202420)
#include <fstream>
using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
typedef struct celula {
long nod;
celula* next;
}*lista ;
lista lda[50013],sol;
long t,i,m,a,b,suma;
long viz[50013],maxim,j,n;
void add(long nod,lista &p)
{
lista r= new celula;
r->nod=nod;
r->next=p;
p=r;
}
void dfs(long nod)
{
lista r=lda[nod];
while (r){
if (!viz[r->nod])dfs(r->nod);
viz[r->nod]=1;
r=r->next;
}
add(nod,sol);
}
int main()
{
cin>>n>>m;
while (m--)cin>>a>>b, add(b,lda[a]);
for (i=1;i<=n;++i)
if (!viz[i]) dfs(i),viz[i]==1;
while (sol){
cout<<sol->nod<<" ";
sol=sol->next;
}
return 0;
}