Pagini recente » Cod sursa (job #2735745) | Cod sursa (job #1245268) | Cod sursa (job #2936751) | Cod sursa (job #2736728) | Cod sursa (job #508420)
Cod sursa(job #508420)
# include <fstream>
# include <iostream>
# include <vector>
# include <algorithm>
# define DIM 100003
# define pb push_back
using namespace std;
int n, m, v[DIM], T, x[2*DIM], y[2*DIM], nv;
vector<int>G[DIM];
void read ()
{
ifstream fin ("mesaj4.in");
fin>>n>>m;
int x, y;
for(int i=1;i<=m;++i)
{
fin>>x>>y;
G[x].pb(y);
G[y].pb(x);
}
}
void DF (int k)
{
++nv;
v[k]=1;
for(vector<int>::iterator I=G[k].begin();I<G[k].end();++I)
if (!v[*I])
{
x[++T]=k;y[T]=*I;
v[*I]=1;
DF(*I);
}
}
int main()
{
freopen("mesaj4.out", "w", stdout);
read ();
DF(n);
if (nv<n)
printf("-1");
else
{
printf("%d\n", 2*T);
for(int i=T;i;--i)
printf("%d %d\n", y[i], x[i]);
for(int i=1;i<=T;++i)
printf("%d %d\n", x[i], y[i]);
}
return 0;
}