Cod sursa(job #2603969)

Utilizator betybety bety bety Data 21 aprilie 2020 13:20:02
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
#include <bitset>
#include <vector>
using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
const int lim=50000+5;
vector<int> vec[lim];
vector<int> sol;
bitset<lim> ok;
void compute(int node)
{
    ok[node]=true;
    for(auto x:vec[node])
    if(!ok[x]) compute(x);
    sol.push_back(node);
}
int main()
{
    int n,m,x,y;
    cin>>n>>m;
    for(int i=1;i<=m;++i)
    {
        cin>>x>>y;
        vec[x].push_back(y);
    }
    for(int i=1;i<=n;++i)
    if(!ok[i]) compute(i);
    for(int i=sol.size()-1;i>=0;--i)
        cout<<sol[i]<<' ';
    return 0;
}