Cod sursa(job #1109681)

Utilizator BogdySSSzekely Bogdan BogdySS Data 17 februarie 2014 14:42:11
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;

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

vector<int> V[50001];


int n, m, c[50001],ind[50001];

int main()
{
    fin >> n >> m;
    while(m--){
    int x, y;
        fin >> x >> y;
        V[x].push_back(y);
        ind[y]++;
    }
    int st=0,dr=0;
    for(int i=1;i<=n;i++)
        if(!ind[i])
            c[dr++]=i;
    while(st<dr){
        int k=c[st];
        for(int i=0;i<V[k].size();i++){
            ind[V[k][i]]--;
            if(ind[V[k][i]]==0)
                c[dr++]=V[k][i];
        }
        st++;
    }
    for(int i=0;i<n;i++)
        cout<<c[i];

    return 0;
}