Cod sursa(job #2053466)

Utilizator MarinPeptenaruMarin Vasile Peptenaru MarinPeptenaru Data 31 octombrie 2017 19:39:24
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
deque < int > sol;
vector < int > v[50002];
bitset < 50002 > viz;
void dfs (int x)
{
    viz.set(x);
    for(vector < int > :: iterator it=v[x].begin(); it!=v[x].end(); it++)
        if(viz.test(*it)==false)
            dfs(*it);
    sol.push_front(x);
}
int n,m,i,j;
int main()
{
    in>>n>>m;
    for(;m;m--)
    {
        in>>i>>j;
        v[i].push_back(j);
    }
    for(i=1; i<=n; i++)
        if(viz.test(i)==false)
            dfs(i);
    for(deque < int > :: iterator it=sol.begin(); it!=sol.end(); it++)
        out<<*it<<' ';
    return 0;
}