Cod sursa(job #2530624)

Utilizator Lavi_18Bucatariu Lavinia Lavi_18 Data 25 ianuarie 2020 00:04:10
Problema Sortare topologica Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
using namespace std;
int i,n,m,nr,viz[100000],st[100000];

ifstream fin("topsort.in");
ofstream fout("topsort.out");

struct arc
{
    int i,j;
}v[100000];

void citire()
{
    int i,j,k;
    fin>>n>>m;
    for(k=1;k<=m;k++)
        fin>>v[k].i>>v[k].j;

}

int verif(int p,int q)
{
    int t,ok;
    for(t=1;t<=m;t++)
        if(p==v[t].i&&q==v[t].j) return 1;
    return 0;

}

void df(int x)
{  int i;
    viz[x]=1;
    for(i=1;i<=n;i++)
        if(verif(x,i)&&viz[i]==0)
                 df(i);
    nr++;
    st[nr]=x;
}

int main()
{
    citire();
    nr=0;
    for(i=1;i<=n;i++)
        if(viz[i]==0) df(i);

    for(i=nr;i>0;i--)
        fout<<st[i]<<' ';
}