Cod sursa(job #1378621)

Utilizator CalinCojoFMI Cojocaru Calin George CalinCojo Data 6 martie 2015 13:19:02
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <deque>
#include <vector>

using namespace std;
 int viz[50001];
 vector <int> solutie;
 int n,m,x,y;
 vector <int>lista[50001];
 
void sortaret(int nod){
    int i;
    viz[nod]  = 1;
    for(i = 0; i <  lista[nod].size(); i++ )
        if(viz[ lista[nod][i] ] != 0 )
            sortaret(lista[nod][i]);
    
    solutie.push_back(nod);
    
	
}

int main()
{
    int i;
  
    ifstream f("sortaret.in");
    ofstream g("sortaret.out");
    f>>n>>m;
    while(m){
             m--;
             f>>x>>y	;
             lista[x].push_back(y);
    }
 
    for( i = 1; i <= n ;i++)
        if(viz[i] == 0)
   	     sortaret(i);
   	                   
   	         
   	for( i = 0; i < solutie.size(); i++)
   	    g<<solutie[i]<<" ";

   
}