Cod sursa(job #1334182)

Utilizator IonMosnoiIon Mosnoi IonMosnoi Data 4 februarie 2015 00:25:13
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<fstream>
#include<vector>
using namespace std;
ifstream f("sortaret.in");
ofstream o("sortaret.out");
vector <int> a[50100];
int n,m,d[50200],c[50005],k=0;
int main(){
f>>n>>m;
int x,y;
for(int i=1;i<=m;i++)f>>x>>y,a[x].push_back(y),d[y]++;
for(int i=1;i<=n;i++)if(d[i]==0){o<<i<<" ";c[++k]=i;}
for(int i=1;k<n;i++){
    for(int j=0;j<a[c[i]].size();j++)
    if(--d[a[c[i]][j]]==0){c[++k]=a[c[i]][j];o<<a[c[i]][j]<<" ";}
}
}