Cod sursa(job #1582860)

Utilizator pinteastefanPintea Teodor Stefan pinteastefan Data 28 ianuarie 2016 16:01:18
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
vector<int> L[100001];
vector<int>::iterator it;
int n,m,i,x,y,sel[100001],Ti[100001],Tf[100001],T[100001],st[100001],nr;
void load() {
f>>n>>m;
for(i=1;i<=m;i++)
{
    f>>x>>y;
    L[x].push_back(y);
}
}

void df(int x)
{
    sel[x]=true;
    for(int i=0;i<L[x].size();i++)
        if (!sel[L[x][i]]) {df(L[x][i]);}
    st[++nr]=x;
}
int main()
{
    load();
    for(i=1;i<=n;i++)
        if(!sel[i]) df(i);
    for(i=nr;i>=1;i--) g<<st[i]<<" ";
    return 0;
}