Pagini recente » Cod sursa (job #196885) | Cod sursa (job #1853454) | Cod sursa (job #2137658) | Cod sursa (job #2485569) | Cod sursa (job #528425)
Cod sursa(job #528425)
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("mesaj4.in");
ofstream fout("mesaj4.out");
#define DIM 100001
int n, m, t;
vector<vector<int> > G;
bool s[DIM];
vector<pair<int,int> > sol;
void Read();
void DF(int x);
void Write();
int main()
{
Read();
DF(1);
Write();
fin.close();
fout.close();
return 0;
}
void Read()
{
fin >> n >> m;
G.resize(n+1);
int a, b;
for( int i = 1; i <= m; ++i )
{
fin >> a >> b;
G[a].push_back(b);
G[b].push_back(a);
}
}
void DF( int x )
{
t++;
s[x] = true;
for( int i = 0; i < G[x].size(); ++i )
if( !s[ G[x][i] ] )
{
sol.push_back( make_pair(x, G[x][i]) );
DF( G[x][i] );
}
}
void Write()
{
if( t < n )
{
fout << -1;
return;
}
fout << 2*(n-1) << '\n';
for( int i = 0; i < sol.size(); ++i )
{
fout << sol[i].first << ' ' << sol[i].second << '\n';
fout << sol[i].second << ' ' << sol[i].first << '\n';
}
}