Pagini recente » Cod sursa (job #1958746) | Cod sursa (job #3204166) | Cod sursa (job #12718) | Cod sursa (job #2822883) | Cod sursa (job #465976)
Cod sursa(job #465976)
#include<stdio.h>
#include<vector>
#define NMAX 100010
using namespace std;
int k,m,n,viz[NMAX],a[NMAX],b[NMAX];
vector<int> v[NMAX];
void caut(int j)
{
int i;
for (i=0;i<v[j].size();++i)
if (!viz[v[j][i]])
{
viz[v[j][i]]=1;
a[++k]=j;
b[k]=v[j][i];
caut(v[j][i]);
}
}
int main()
{
int t1,t2,i;
freopen("mesaj4.in","r",stdin);
freopen("mesaj4.out","w",stdout);
scanf("%d%d",&n,&m);
for (i=1;i<=m;++i)
{
scanf("%d%d",&t1,&t2);
v[t1].push_back(t2);
v[t2].push_back(t1);
}
viz[1]=1;
caut(1);
if (k==(n-1))
{
printf("%d\n",2*(n-1));
for (i=k;i>=1;--i)
printf("%d %d\n",b[i],a[i]);
for (i=1;i<=k;++i)
printf("%d %d\n",a[i],b[i]);
}
else
printf("-1/n");
return 0;
}