Cod sursa(job #2561865)

Utilizator shutdownRadu Dumitrache shutdown Data 29 februarie 2020 10:48:00
Problema Sortare topologica Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
using namespace std;
int p,u,c[5001],t[5001],n,m,x,y,mat[5001][5001];
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
void sortare()
{
    p=0;u=-1;
    for (int i=1;i<=n;i++)
    {
        if (t[i]==0)
        {
            c[++u]=i;
        }
    }
    while (p<=u)
    {
        x=c[p];
        p=p+1;
        fout<<x<<" ";
        for (int j=1;j<=n;j++)
            if (mat[x][j]==1)
        {
            t[j]=t[j]-1;
            if (t[j]==0)
                c[++u]=j;
        }
    }

}
int main()
{
    fin>>n>>m;
    for (int i=1;i<=m;i++)
    {
        fin>>x>>y;
        mat[x][y]=1;
        t[y]++;
    }
    sortare();
    return 0;
}