Pagini recente » Cod sursa (job #903492) | Cod sursa (job #1541776) | Cod sursa (job #1328344) | Cod sursa (job #1061092) | Cod sursa (job #1639881)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
int viz[100004],sol_a[100004],sol_b[100004],i,n,nr,a,b,m;
vector<int> v[100004];
void dfs(int k)
{
int i;
viz[k]=1;
for(i=0;i<v[k].size();i++)
{
if(viz[v[k][i]]==0)
{
nr++;
sol_b[nr]=v[k][i];
sol_a[nr]=k;
dfs(v[k][i]);
}
}
}
int main()
{
ifstream cin("mesaj4.in");
ofstream cout("mesaj4.out");
cin>>n>>m;
for(i=1;i<=m;i++)
{
cin>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
}
dfs(1);
if(nr!=n-1)
cout<<"-1";
else{
cout<<nr*2<<"\n";
for(i=1;i<=nr;i++)
cout<<sol_a[i]<<" "<<sol_b[i]<<"\n";
for(i=nr;i>=1;i--)
cout<<sol_b[i]<<" "<<sol_a[i]<<"\n";
}
return 0;
}