Cod sursa(job #1045032)

Utilizator paul_danutDandelion paul_danut Data 30 noiembrie 2013 19:45:01
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <vector>
#include <fstream>
using namespace std;

ifstream f("sortaret.in");
ofstream g("sortaret.out");
#define Nmax  50001
#define pb(x) push_back(x);

vector<int>::iterator it;
vector<int> a[Nmax];
int i,j,x,y,n,m,al[Nmax]={0},viz[Nmax]={0};

int main()
{

    f>>n>>m;
    for(i=1;i<=m;i++)
       {f>>x>>y;
       a[x].pb(y);
       al[x]++;}

    for(i=1;i<=n;i++)
       if(al[i]!=0)
          {g<<i<<' ';
          viz[i]=1;
          for(it=a[i].begin();it!=a[i].end();++it)
              if( viz[*it]==0 && al[*it]==0)
                 {g<<*it<<' ';
                 viz[*it]=1;}}

    f.close();g.close();
    return 0;
}