Cod sursa(job #1359601)

Utilizator katakonst94Pirvu Constantin Catalin katakonst94 Data 24 februarie 2015 23:57:46
Problema Sortare topologica Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.99 kb
#include <iostream>
#include <fstream>
#include <list>
using namespace std;

ifstream f("sortaret.in");
ofstream g("sortaret.out");
int vis[10000];
int mat[10000][10000];
int n;
list<int> L;
int c=0;
 void dfs(int nod)
{

//cout<<nod<<"  ";

for(int i=1;i<=n;i++){
    if(mat[nod][i]==1&&vis[i]==0)
{

    vis[i]=1;
    dfs(i);
}

}
//c++;
L.push_front(nod);
}
int main()
{

    int t,m,l;
  //  f>>t;
    int v[1000];
    for(int i=1;i<=1;i++)
    {
        f>>n;
        f>>m;
      //  for(int j=1;j<=n;j++)
        //       f>>v[i];
        for(int j=1;j<=m;j++)
        {
            int k,p;
            f>>k;
            f>>p;
            mat[k][p]=1;
        }

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


       list<int>::iterator i;
     for(i=L.begin(); i != L.end(); ++i)
        g << *i << " ";
    cout << "Hello world!" << endl;
    return 0;
}