Cod sursa(job #2173600)

Utilizator dragosmdvMoldovan Dragos dragosmdv Data 15 martie 2018 23:01:19
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

ifstream fin("sortaret.in");
ofstream fout("sortaret.out");

vector <int > v[50001];
vector <int > sol;


int n, m,a,b, freq[50001];

void dfs(int nod)
{
    freq[nod]=1;
    for(int i=0;i<v[nod].size();i++)
    {
        if(freq[v[nod][i]]==0)
        {

            dfs(v[nod][i]);
        }
    }
    sol.push_back(nod);
}

int main()
{
    fin>>n>>m;
    for(int i=1;i<= m;i++)
    {
        fin>>a>>b;
        v[a].push_back(b);
    }

    for(int i=1;i<=n;i++)
        if(freq[i]==0)
        dfs(i);

    for(int i=0;i<sol.size();i++)
        fout<<sol[i]<<" ";
    return 0;
}