Cod sursa(job #2084344)

Utilizator vladcoroian2001Vlad Coroian vladcoroian2001 Data 8 decembrie 2017 23:06:55
Problema Sortare topologica Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream fi("sortaret.in");
ofstream fo("sortaret.out");
const int nmax=100005;
int n,m,seen[nmax],x,y;
vector <int> V[nmax],sol;
void explore(int x)
{
    seen[x]=1;
    for(auto y:V[x])
        if(!seen[y])
        {
            seen[y]=1;
            explore(y);
        }
    sol.push_back(x);
}
int main()
{
    fi>>n>>m;
    for(int i=1;i<=m;i++)
    {
        fi>>x>>y;
        V[x].push_back(y);
    }

    for(int i=1;i<=n;i++)
        if(!seen[i])
            explore(i);
    for(int i=sol.size()-1;i>=0;i--)
        fo<<sol[i]<<" ";
    fi.close();
    fo.close();
    return 0;
}