Cod sursa(job #1650854)

Utilizator ioan.veveraIoan Vevera ioan.vevera Data 11 martie 2016 20:59:42
Problema Sortare topologica Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>

using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
int m,n,x,y,gi[50001];
long gaseste()
{
    for(long i=1;i<=n;i++) if(gi[i]==0) return i;
    return 0;
}
void scadegi(int i)
{
    fin.close();
    ifstream fin ("sortaret.in");
    fin>>n>>m;
    for(long k=1;k<=m;k++) {fin>>x>>y;if(x==i) gi[y]--;}
}
int main()
{
    fin>>n>>m;
    for(long i=1;i<=m;i++) {fin>>x>>y;gi[y]++;}
    while(gaseste())
    {
        long k=gaseste();
        scadegi(k);
        fout<<k<<' ';
        gi[k]=-1;
    }
    return 0;
}