Cod sursa(job #2309627)

Utilizator HaesteinnSabau Florin Vlad Haesteinn Data 29 decembrie 2018 14:39:09
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("sortaret.in");
ofstream fout("sortaret.out");

vector<int> adj[50002];
int n,m;
vector<int> sortat;
int visited[50002];

void dfs(int v)
{
    visited[v]=1;
    for(size_t i=0;i<adj[v].size();i++)
    {
        int u=adj[v][i];
        if(visited[u]==0)
        {
            dfs(u);
        }
    }
    sortat.push_back(v);
}

int main()
{
    fin>>n>>m;
    for(int i=0;i<m;i++)
    {
        int v1,v2;
        fin>>v1>>v2;
        adj[v1].push_back(v2);
    }
    for(int i=1;i<=n;i++)
        if(visited[i]==0)
            dfs(i);
    for(int i=sortat.size()-1 ; i>=0 ; i--)
    {
        fout<<sortat[i]<<" ";
    }
    return 0;
}