Cod sursa(job #1637836)

Utilizator Cezar98Alexandru Cezar Cezar98 Data 7 martie 2016 19:33:38
Problema Sortare topologica Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int viz[101],A[101][101],postordine[101],nr,n,m;
void DFS(int x)
{
int i;
viz[x] = 1;
for(i=1;i<=A[x][0];i++)
{
if(!viz[A[x][i]]) DFS(A[x][i]);
}
postordine[++nr] = x;
}

int main()
{
int i,j;
int x,y;
f >> n >> m;
for(i=1;i<=m;i++)
{
 f >> x >> y;

 A[x][++A[x][0]] = y;
}
 //A[x][i] este al i-ulea vecin
 //A[x][0] este nr de vecini




for(i=1;i<=n;i++)
    if(!viz[i]) DFS(i);
for(i=n;i>0;i--) g << postordine[i] << " ";

    return 0;
}