Cod sursa(job #2561760)

Utilizator andreitabaraandrei2004 andreitabara Data 29 februarie 2020 09:54:16
Problema Sortare topologica Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include <vector>

using namespace std;
long d[50000],n,m,i,sol[50000],k,x,y;
vector <int>v[50001];
ifstream in ("sortaret.in");
ofstream out ("sortaret.out");
void dfs(int nod)
{
    d[nod]=1;
    for(int i=0;i<v[nod].size();i++)
    {
        if(!d[v[nod][i]])
            {dfs(v[nod][i]);}

    }   sol[++k]=nod;
}
int main()
{
in>>n>>m;
for(i=1;i<=m;i++)
{
    in>>x>>y;
    v[x].push_back(y);
}

for(i=1;i<=n;i++)
{
    if(d[i]==0)dfs(i);

}
for(i=k;i>=1;i--)
out<<sol[i]<<" ";
    return 0;
}