Pagini recente » Cod sursa (job #3030574) | Cod sursa (job #2128928) | Cod sursa (job #2900961) | Cod sursa (job #1427590) | Cod sursa (job #599029)
Cod sursa(job #599029)
#include <fstream>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
struct lista
{
int vf;
lista *urm;
} *graf[50001], *stiva;
int n, m, vizit[50001];
void parcurgere(int i)
{
vizit[i] = 1;
for(lista *c = graf[i]; c != NULL; c = c->urm)
if(vizit[c->vf] == 0)
parcurgere(c->vf);
lista *t;
t = new lista;
t->vf = i;
t->urm = stiva;
stiva = t;
}
int main()
{
fin >> n >> m;
int a, b;
lista *c;
for(int i = 0; i < m; i++)
{
c = new lista;
fin >> a >> b;
c->vf = b;
c->urm = graf[a];
graf[a] = c;
}
for(int i = 1; i <= n; i++)
if(vizit[i] == 0)
parcurgere(i);
for(c = stiva; c != NULL; c = c->urm)
fout << c->vf << ' ';
fout << '\n';
fin.close();
fout.close();
return 0;
}