Pagini recente » Cod sursa (job #947587) | Cod sursa (job #542450) | Cod sursa (job #2491114) | Cod sursa (job #2700974) | Cod sursa (job #2825650)
#include <iostream>
#include <fstream>
#include <vector>
#include <bitset>
using namespace std;
ofstream out("mesaj4.out");
const int N = 100005;
vector<int>v[N];
bitset<N>viz;
int cnt=0;
vector<int>rasp;
void dfs(int x){
viz[x] = true;
for(auto y:v[x]){
if(!viz[y]) {
cnt+=2;
rasp.push_back(x);
rasp.push_back(y);
dfs(y);
}
}
}
int main() {
ifstream in("mesaj4.in");
int n,m;
in>>n>>m;
int x,y;
while(m--){
in>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
dfs(1);
for(int i=1;i<=n;i++){
if(!viz[i]){
out<< -1;
return 0;
}
}
out<<n*2-2<<'\n';
for(int i=0;i<cnt;i+=2){
out<<rasp[i]<<' '<<rasp[i+1]<<'\n';
}
for(int i=cnt-1;i>=0;i-=2){
out<<rasp[i]<<' '<<rasp[i-1]<<'\n';
}
return 0;
}