Pagini recente » Cod sursa (job #2545061) | Cod sursa (job #1141060) | Cod sursa (job #870216) | Cod sursa (job #2703903) | Cod sursa (job #2660251)
#include <fstream>
#include <vector>
std::ifstream fin("mesaj4.in");
std::ofstream fout("mesaj4.out");
bool use[100002];
int n,m,nrnod;
using std::vector;
vector<std::pair<int,int>> s;
vector<vector<int>> v;
void dfs(int nod)
{
use[nod]=1; ++nrnod;
for(int i=0;i<(int)v[nod].size();++i)
if(!use[v[nod][i]])
{
dfs(v[nod][i]);
fout<<v[nod][i]<<" "<<nod<<"\n";
s.push_back(std::make_pair(nod,v[nod][i]));
}
}
int main()
{
fin>>n>>m;
fout<<2*n-2<<"\n";
int x,y;
v.resize(n+2);
for(int i=0; i<m; i++)
{
fin>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
dfs(1);
if(nrnod!=n)
{
fout.close();
std::ofstream fout("mesaj4.out");
fout<<-1<<"\n";
return 0;
}
for(int i=n-2;i>=0;i--)fout<<s[i].first<<" "<<s[i].second<<"\n";
return 0;
}