Cod sursa(job #639127)

Utilizator attila3453Geiszt Attila attila3453 Data 22 noiembrie 2011 15:41:39
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream fi("sortaret.in");
ofstream fo("sortaret.out");

vector<int> vecini[50000];
bool vizitat[50000];
int n, m;

vector<int> sol;

void dfs(int start)
{
  vector<int>::iterator i;

  for(i = vecini[start].begin();i!=vecini[start].end();i++)
  {
      if(!vizitat[*i])
      {
          vizitat[*i] = true;
          sol.push_back(*i);
          dfs(*i);
      }
  }
}

int main()
{
    fi>>n>>m;

    int i, k, l;

    for(i = 0;i<m;i++)
    {
      fi>>k>>l;
      vecini[k].push_back(l);
      vecini[l].push_back(k);
    }

    dfs(1);

    sol.push_back(1);

    for(i = 0;i<sol.size();i++)
    {
      fo<<sol[i]<<' ';
    }
}