Cod sursa(job #1650860)

Utilizator ioan.veveraIoan Vevera ioan.vevera Data 11 martie 2016 21:05:56
Problema Sortare topologica Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>

using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
int m,n,x,y,gi[50001],a[20000][20000];
long gaseste()
{
    for(long i=1;i<=n;i++) if(gi[i]==0) return i;
    return 0;
}
void scadegi(int i)
{
    for(int j=1;j<=n;j++)
        if(a[i][j]) gi[j]--;
    /*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]++;a[x][y]=1;}
    while(gaseste())
    {
        long k=gaseste();
        scadegi(k);
        fout<<k<<' ';
        gi[k]=-1;
    }
    return 0;
}