Pagini recente » Cod sursa (job #2636119) | Cod sursa (job #104142) | Cod sursa (job #998409) | Cod sursa (job #274988) | Cod sursa (job #2678198)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
vector <int> noduri[50005];
int vizitat[50005];
struct node {
int inf;
node *next;
}*a;
void push(int x)
{
node *aux=new node;
aux->inf=x;
aux->next=a;
a=aux;
}
void sortaret(int nod)
{
for(auto it: noduri[nod])
{
if(!vizitat[it])
{
vizitat[it]=1;
sortaret(it);
}
}
push(nod);
}
int main()
{
int n,m,x,y,i;
fin>>n>>m;
a=NULL;
for(i=1;i<=m;i++)
{
fin>>x>>y;
noduri[x].push_back(y);
}
for(i=1;i<=n;i++)
{
if(!vizitat[i])
{
vizitat[i]=1;
sortaret(i);
}
}
for(;a;a=a->next)
fout<<a->inf<<" ";
return 0;
}