Pagini recente » Cod sursa (job #2971016) | Cod sursa (job #750793) | Cod sursa (job #1273622) | Cod sursa (job #386018) | Cod sursa (job #465643)
Cod sursa(job #465643)
#include <stdio.h>
#include <vector>
using namespace std;
#define maxn 100010
long n, m, i, j, k, a, b, f[maxn], sa[maxn], sb[maxn];
vector<long> v[maxn];
void df(long nod)
{
if(f[nod]) return;
f[nod]=1;
for(vector<long> :: iterator it=v[nod].begin(); it!=v[nod].end(); ++it)
{
if(f[*it]==0)
{
df(*it);
sa[++sa[0]]=*it;
sb[++sb[0]]=nod;
}
}
}
int main()
{
freopen("mesaj4.in", "r", stdin);
freopen("mesaj4.out", "w", stdout);
scanf("%d%d", &n, &m);
for(i=1; i<=m; ++i)
{
scanf("%d%d", &a, &b);
v[a].push_back(b);
v[b].push_back(a);
}
printf("%d\n", n*2-2);
df(1);
for(i=1; i<n; ++i)
printf("%d %d\n", sa[i], sb[i]);
for(i=n-1; i; --i)
printf("%d %d\n", sb[i], sa[i]);
return 0;
}