Cod sursa(job #2275604)

Utilizator Andrei.GheorgheAndrei Gheorghe Andrei.Gheorghe Data 3 noiembrie 2018 12:44:06
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include<fstream>
using namespace std;
ifstream cin("sortat.in");
ofstream cout("sortat.out");
int ns,v[900],a[900],k[900][900],n,m,nr=1,x,y;
void dfs(int ns)
{
    v[ns]=1;
    for(int i=1;i<=n;i++)
    {
        if(k[ns][i]==1&&v[i]==0)
        {
            dfs(i);
        }
    }
            a[nr]=ns;nr++;
}

int main()
{
    cin>>n>>m;
    for(int i=1;i<=m;i++)
    {
        cin>>x>>y;
        k[x][y]=1;
    }
    for(int i=1;i<=n;i++)
    {
        if(v[i]==0)
            dfs(i);
    }
    for(int i=n;i>0;i--)
    {
        cout<<a[i]<<" ";
    }
}