Cod sursa(job #630701)

Utilizator sunt_emoSunt emo sunt_emo Data 6 noiembrie 2011 13:17:14
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#include <vector>

using namespace std;

vector<int> a[50010];
int n,m,i,j,nr,c[50010];
bool b[50010];
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;
}