Cod sursa(job #2310481)

Utilizator mihai50000Mihai-Cristian Popescu mihai50000 Data 31 decembrie 2018 18:46:27
Problema Mesaj4 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>
using namespace std;

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

const int DIM = 1e5 + 7;

vector <int> v[DIM];
bool vis[DIM];

vector <pair <int, int> > edge1;
vector <pair <int, int> > edge2;

void dfs(int nod)
{
	vis[nod] = 1;
	
	for(int i : v[nod])
		if(vis[i] == 0)
		{
			edge2.push_back({i, nod});
			dfs(i);
			edge1.push_back({i, nod});
		}
}

int main()
{
	int n, m;
	in >> n >> m;
	
	while(m--)
	{
		int x, y;
		in >> x >> y;
		
		v[x].push_back(y);
		v[y].push_back(x);
	}
	
	dfs(1);
	
	out << (int)edge1.size() + (int)edge2.size() << '\n';
	
	for(pair <int, int> i : edge1)
		out << i.first << ' ' << i.second << '\n';
	
	for(pair <int, int> i : edge2)
		out << i.first << ' ' << i.second << '\n';
}