Pagini recente » Cod sursa (job #1835762) | Cod sursa (job #2542) | Cod sursa (job #932806) | Cod sursa (job #477929) | Cod sursa (job #2793964)
#include <fstream>
#include <vector>
using namespace std;
ifstream in("mesaj4.in");
ofstream out("mesaj4.out");
int n, m, t, tx[100001], ty[100001];
bool f[100001];
vector<int> g[100001];
void read()
{
in >> n >> m;
int x, y;
for(int i = 0; i < m; ++i)
in >> x >> y,
g[x].push_back(y),
g[y].push_back(x);
}
void dfs(int s)
{
f[s] = 1;
for(auto i : g[s])
if(!f[i])
tx[t] = s,
ty[t++] = i,
dfs(i);
}
int main()
{
read();
dfs(1);
if(t == n-1)
{
out << t*2 << '\n';
for(int i = t-1; i >= 0; --i)
out << ty[i] << ' ' << tx[i] << '\n';
for(int i = 0; i < t; ++i)
out << tx[i] << ' ' << ty[i] << '\n';
}
else out << -1;
return 0;
}