Cod sursa(job #2466524)

Utilizator Savu_Stefan_CatalinSavu Stefan Catalin Savu_Stefan_Catalin Data 2 octombrie 2019 14:53:33
Problema Sortare topologica Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
int n,m,x,y,k,i,b[50001],t[50001];
vector <int>a[50001];
void df(int x)
{
    b[x]=1;
    for (int i=0;i<a[x].size();++i)
    {
        if (b[a[x][i]]==0) df(a[x][i]);
    }
    t[++k]=x;
}
int main()
{
in>>n>>m;
for (i=1;i<=m;++i)
{
    in>>x>>y;
    a[x].push_back(y);
}
for (i=1;i<=n;++i)
{
    if (b[i]==0) df(i);
}
for (i=k;i>=1;--i)
    out<<t[i]<<" ";
    return 0;
}