Cod sursa(job #3289768)

Utilizator WiseAndrei4Vetrila Andrei WiseAndrei4 Data 28 martie 2025 13:53:41
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("sortaret.in");
ofstream gout("sortaret.out");
void dfs(int &nod,vector<vector<int>>&g,vector<int>&ord,vector<bool>&viz)
{
    viz[nod]=1;
    for(auto i:g[nod])if(!viz[i])dfs(i,g,ord,viz);
    ord.push_back(nod);
}
int main()
{
    int n,m,i,j;
    fin>>n>>m;
    vector<vector<int>>g(n+1,vector<int>(0));
    while(m--)
    {
        fin>>i>>j;
        g[i].push_back(j);
    }
    vector<int>ord;
    vector<bool>viz(n+1,0);
    for(i=1;i<=n;++i)if(!viz[i])dfs(i,g,ord,viz);
    for(auto p=ord.rbegin(); p!=ord.rend(); ++p)gout<<*p<<' ';
    return 0;
}