Pagini recente » Cod sursa (job #2533316) | Cod sursa (job #1313576) | Cod sursa (job #1866401) | Cod sursa (job #228116) | Cod sursa (job #3194757)
#include <fstream>
#include <vector>
using namespace std;
int n,m;
vector<int>G[100001];
int f[100001],k=0;
struct abc{
int i; int j;
}rez[200001];
void dfs(int nod){
f[nod]=1;
for(auto x : G[nod])
if(!f[x]){
rez[++k]={x,nod};
dfs(x);
}
}
ifstream fin("mesaj4.in");
ofstream fout("mesaj4.out");
int main(){
fin>>n>>m;
while(m--){
int x,y; fin>>x>>y;
G[x].push_back(y);
G[y].push_back(x);
}
dfs(1);
for(int i=1;i<=n;i++)
if(f[i]==0){
fout<<-1<<" ";
return 0;
}
fout<<2*k<<'\n';
for(int i=k;i>=1;i--)
fout<<rez[i].i<<" "<<rez[i].j<<'\n';
for(int i = 1; i<=k;i++)
fout<<rez[i].j<<" "<<rez[i].i<<'\n';
return 0;
}