Cod sursa(job #899925)

Utilizator the@EyE@Postavaru Stefan the@EyE@ Data 28 februarie 2013 16:52:41
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<cstdio>
#include<vector>
#include<queue>

using namespace std;

vector<int> graph[50001];
deque<int> Q;

int n,m,used[50001];

void df(int nod)
{
    if(used[nod])return;
    used[nod]=true;
    for(int i=0;i<graph[nod].size();++i)df(graph[nod][i]);
    Q.push_front(nod);
}

int main()
{
    freopen("sortaret.in","r",stdin);
    freopen("sortaret.out","w",stdout);
    scanf("%d%d",&n,&m);
    for(int i=0;i<m;++i)
    {
        int x,y;
        scanf("%d%d",&x,&y);
        graph[x].push_back(y);
    }
    df(1);
    for(int i=0;i<Q.size();++i)printf("%d ",Q[i]);
    return 0;
}