Cod sursa(job #2562883)

Utilizator nicolaee2Martinescu Nicolae nicolaee2 Data 29 februarie 2020 19:24:49
Problema Mesaj4 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<bits/stdc++.h>
#include<string.h>

using namespace std;

#define NMAX 100005

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

int n,m;
vector<int> ma[NMAX];
int viz[NMAX];



void citire()
{
   fin>>n>>m;
   for(int i=1;i<=m;i++)
   {
      int x,y;
      fin>>x>>y;
      ma[x].push_back(y);
      ma[y].push_back(x);
   }
}

vector<pair<int,int > > s;

void DFS(int nod)
{
   viz[nod] = 1;
   for(int i=0;i<ma[nod].size();i++)
   {
      int vecin = ma[nod][i];
      if(!viz[vecin])
      {
         DFS(vecin);
         s.push_back(make_pair(vecin,nod));
      }


   }
}

int main()
{

   citire();
   DFS(1);

   if(s.size() != (n-1))
   {
      fout<<-1;
   }
   else
   {
      fout<<2*(n-1)<<'\n';
      for(int i=0;i<s.size();i++)
         fout<<s[i].first<<" "<<s[i].second<<'\n';
      for(int i=s.size()-1;i>=0;i--)
         fout<<s[i].second<<" "<<s[i].first<<'\n';
   }


}