Cod sursa(job #1798235)

Utilizator nick12nicolae mihalache nick12 Data 4 noiembrie 2016 23:34:34
Problema Sortare topologica Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;

#define MA 50100

int N, M, viz[MA], deg[MA];
vector <int> ar[MA];
int main()
{
    freopen("sortaret.in","r",stdin);
    freopen("sortaret.out","w",stdout);
    int i,j,k,a,b;
    scanf("%d %d",&N,&M);
    for (i=1;i<=M;i++)
    {
        scanf("%d %d",&a,&b), ar[a].push_back(b), deg[b]++;
    }
    for (i = 1;i<=N;i++)
    {
        for (j = 1;j<=N;j++)
        {
            if (!viz[j] && deg[j] == 0)
            {
                viz[j] = 1, printf("%d ",j);
                for (k = 0;k<ar[j].size(); k++)
                    deg[ar[j][k]]--;
                break ;
            }
        }
    }
    for (i = 1;i<=N; i++)
    return 0;
}