Cod sursa(job #1212505)

Utilizator PlatenitesVoicu Cristian Platenites Data 24 iulie 2014 22:54:34
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream f("sortaret.in");
ofstream g("sortaret.out");
int viz[50001],n,m,a,b,q[50001],nr;
vector <int> v[50001];
void dfs(int x)
{
    viz[x]=1;
    for(int i=0;i<v[x].size();i++)
        if(viz[v[x][i]]==0)
            dfs(v[x][i]);
    q[++nr]=x;
}
int main()
{
    f>>n>>m;
    for(int i=1;i<=n;i++)
    {
        f>>a>>b;
        v[b].push_back(a);
    }
    for(int i=1;i<=n;i++)
        if(viz[i]==0)
            dfs(i);
    for(int i=1;i<=n;i++)
        g<<q[i]<<" ";
    return 0;
}