Cod sursa(job #2634164)

Utilizator euyoTukanul euyo Data 9 iulie 2020 22:28:05
Problema Mesaj4 Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <vector>

using namespace std;

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

const int MaxN = 100000;

vector<int> adj[MaxN + 1];
int viz[MaxN + 1];
int solx[MaxN + 1];
int soly[MaxN + 1];
int nsol;

void DFS( int node ) {
  int i;
  
  viz[node] = 1;
  for ( i = 0; i < adj[node].size(); ++i ) {
    if ( !viz[adj[node][i]] ) {
      solx[nsol] = node;
	  soly[nsol++] = adj[node][i];
	  DFS( adj[node][i] );
	}
  }
}

int main() {
  int n, m, i, x, y;

  fin >> n >> m;
  for ( i = 0; i < m; ++i ) {
    fin >> x >> y;
	adj[x].push_back( y );
	adj[y].push_back( x );
  }
  DFS( 1 );
  fout << 2 * nsol << "\n";
  for ( i = nsol - 1; i >= 0; --i ) {
    fout << soly[i] << " " << solx[i] << "\n";
  }
  for ( i = 0; i < nsol; ++i ) {
    fout << solx[i] << " " << soly[i] << "\n";
  }
  fin.close();
  fout.close();
  return 0;
}