Cod sursa(job #961777)

Utilizator gbi250Gabriela Moldovan gbi250 Data 12 iunie 2013 21:07:13
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <cstdio>
#include <vector>
#define SIZE 50001
using namespace std;
int n, m, i, x, y;
vector <int> v[SIZE];
bool viz[SIZE], sw;
void DFS(int node)
{
    viz[node]=1;
    for(int i=0;i<v[node].size();++i)
        if(!viz[v[node][i]])
        {
            printf("%d ", v[node][i]);
            DFS(v[node][i]);
        }
}


int main()
{
    freopen("sortaret.in", "r", stdin);
    freopen("sortaret.out", "w", stdout);
    scanf("%d %d", &n, &m);
    for(i=1;i<=m;++i)
    {
        scanf("%d %d", &x, &y);
        v[x].push_back(y);
    }
    for(i=1;i<=n;++i)
        if(!viz[i])
        {
            if(!sw)
            {
                sw=1;
                printf("%d ", i);
            }
            DFS(i);
        }

    return 0;
}