Cod sursa(job #630704)

Utilizator sunt_emoSunt emo sunt_emo Data 6 noiembrie 2011 13:20:32
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <vector>
#define N 50010

using namespace std;

vector<int> a[N];
int n,m,i,j,nr,c[N];
bool b[N];
ifstream in ("sortaret.in");
ofstream out ("sortaret.out");

void pia (int k) {
    if (b[k]) return;
    b[k]=1;
    for (vector<int>::iterator it=a[k].begin (); it<a[k].end (); it++) pia (*it);
    c[nr++]=k;
}

int main () {
    in>>n>>m;
    while (m--) {
        in>>i>>j;
        a[i].push_back (j);
    }
    for (i=1; i<=n; i++) pia (i);
    while (--nr>=0) out<<c[nr]<<" ";
    out<<"\n";
    return 0;
}