Pagini recente » Cod sursa (job #1048768) | Cod sursa (job #1597402) | Cod sursa (job #898102) | Cod sursa (job #1315654) | Cod sursa (job #2652802)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <queue>
using namespace std;
ifstream fin("mesaj4.in");
ofstream fout("mesaj4.out");
const int DIM = 100005;
int n,m,x,y,viz[DIM];
vector <int> G[DIM];
vector < pair<int,int> > Sol;
void Read()
{
fin>>n>>m;
while(m--)
{
fin>>x>>y;
G[x].push_back(y);
G[y].push_back(x);
}
}
void UpDFS(int nod, int father)
{
viz[nod]=1;
vector <int> ::iterator it;
for(it=G[nod].begin();it!=G[nod].end();it++)
{
if(!viz[*it])
{
UpDFS(*it,nod);
fout<<*it<<" "<<nod<<'\n';
}
}
}
void DownDFS(int nod)
{
viz[nod]=1;
vector <int> ::iterator it;
for(it=G[nod].begin();it!=G[nod].end();it++)
{
if(!viz[*it])
{
fout<<nod<<" "<<*it<<'\n';
DownDFS(*it);
}
}
}
int main()
{
Read();
fout<<(n-1)*2<<'\n';
UpDFS(1,0);
memset(viz,0,sizeof(viz));
DownDFS(1);
}