Pagini recente » Cod sursa (job #132544) | Cod sursa (job #2985744) | Cod sursa (job #794798) | Cod sursa (job #477047) | Cod sursa (job #245855)
Cod sursa(job #245855)
#include <stdio.h>
#include <vector>
#define nmax 50005
#define mmax 100005
using namespace std;
int n, m, f, o [nmax];
vector <int> g [nmax];
vector <bool> v (nmax);
void scan ()
{
int i, a, b;
scanf ("%d%d", &n, &m);
for (i=1; i <= m; ++i)
{
scanf ("%d%d", &a, &b);
g [a].push_back (b);
v [b]=true;
}
}
int first ()
{
int i;
for (i=1; i <= n; ++i)
if (v [i] == false)
return i;
return 0;
}
void sort_t (int nod)
{
vector <int>::iterator it;
o [++o [0]]=nod;
for (it=g [nod].begin (); it != g [nod].end (); ++it)
sort_t (*it);
}
void print ()
{
int i;
for (i=1; i <= o [0]; ++i)
printf ("%d ", o [i]);
printf ("\n");
}
int main ()
{
freopen ("sortaret.in", "r", stdin);
freopen ("sortaret.out", "w", stdout);
scan ();
f=first ();
sort_t (f);
print ();
return 0;
}