Cod sursa(job #877985)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 13 februarie 2013 17:29:23
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<fstream>
#include<vector>
#define dim 100007

using namespace std;

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

vector<int> L[dim];
int pred[dim],s[dim];x,y,n,m,i,j;
int main (){

    f>>n>>m;

    for(i=1;i<=m;++i){

        f>>x>>y;
        ++pred[y];
        L[x].push_back(y);

    }


    for(i=1;i<=n;++i){
        if(!pred[i]){
            s[++s[0]]=i;
        }

    }

    for(i=1;i<=n;i++) {

        x=s[i];
        for(j=0;j<L[x].size();++j){

            --pred[L[x][j]];
            if(pred[L[x][j]]) {
                s[++s[0]]=G[x][j];

            }

        }
    }
    for(i=1;i<=n;++i){
        g<<s[i]<<" ";
    }
    return 0;
}