Cod sursa(job #1033547)

Utilizator acomAndrei Comaneci acom Data 17 noiembrie 2013 10:06:42
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<cstdio>
#include<vector>
using namespace std;
#define NMAX 50005
vector <int> v[NMAX];
int n,m,x,y;
bool gr[NMAX],ap[NMAX];
void dfs(int s)
{
    int i;
    ap[s]=true;
    for (i=0;i<v[s].size();++i)
        if (!ap[v[s][i]])
            dfs(v[s][i]);
    printf("%d ",s);
}
int main()
{
    int i;
    freopen("sortaret.in","r",stdin);
    freopen("sortaret.out","w",stdout);
    scanf("%d%d",&n,&m);
    for (i=0;i<m;++i)
    {
        scanf("%d%d",&x,&y);
        v[y].push_back(x);
        gr[x]=true;
    }
    for (i=1;i<=n;++i)
        if (!gr[i])
            dfs(i);
    printf("\n");
    return 0;
}