Cod sursa(job #1773829)

Utilizator gbibBacotiu Gabi gbib Data 8 octombrie 2016 11:45:41
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>

using namespace std;

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

stack <int> st;
vector <int> g[50005];
int viz[50005];

void df(int nod)
{
    viz[nod]=1;
    for(int i=0;i<g[nod].size();i++)
        if(!viz[g[nod][i]])
            df(g[nod][i]);
    st.push(nod);
}

int main()
{int n,m,i,a,b;
in>>n>>m;
for(i=1;i<=m;i++)
{
    in>>a>>b;
    g[a].push_back(b);
}
for(i=1;i<=n;i++)
{
    if(viz[i]==0)
    {
        df(i);
    }
}
while(!st.empty())
{
    out<<st.top()<<' ';
    st.pop();
}
    return 0;
}