Pagini recente » Cod sursa (job #1361266) | Cod sursa (job #2921344) | Cod sursa (job #154344) | Cod sursa (job #549569) | Cod sursa (job #2022149)
#include <bits/stdc++.h>
const int MAXN = (int) 1e5;
std::vector <int> g[MAXN + 1];
std::vector < std::pair <int, int> > prs;
bool viz[MAXN + 1];
void dfs(int nod) {
viz[nod] = 1;
for(auto it : g[nod])
if(!viz[it]) {
prs.push_back({nod, it});
dfs(it);
}
}
int main() {
FILE *fi, *fout;
int i, n, m, x, y;
fi = fopen("mesaj4.in" ,"r");
fout = fopen("mesaj4.out" ,"w");
fscanf(fi,"%d %d " ,&n,&m);
for(i = 1; i <= m; i++) {
fscanf(fi,"%d %d " ,&x,&y);
g[x].push_back(y);
g[y].push_back(x);
}
dfs(1);
if(prs.size() != n - 1)
fprintf(fout,"-1");
else {
fprintf(fout,"%d\n" ,2 * (n - 1));
for(i = prs.size() - 1; i >= 0; i--)
fprintf(fout,"%d %d\n" ,prs[i].second,prs[i].first);
for(auto it : prs)
fprintf(fout,"%d %d\n" ,it.first,it.second);
}
fclose(fi);
fclose(fout);
return 0;
}