Pagini recente » Cod sursa (job #2089771) | Cod sursa (job #3209018) | Cod sursa (job #2739770) | Cod sursa (job #1804900) | Cod sursa (job #2309803)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("mesaj4.in") ;
ofstream fout("mesaj4.out") ;
bitset<100005> bt ;
vector<int> graf[100005] ;
vector<pair<int,int> > sol ;
int n ;
void citire()
{
int m , i , x , y ;
fin >> n >> m ;
for ( i = 1 ; i <= m ; i++ )
{
fin >> x >> y ;
graf[x].push_back(y) ;
graf[y].push_back(x) ;
}
}
void dfs(int nod)
{
bt[nod] = 1 ;
for ( auto vec : graf[nod] )
if ( bt[nod] == 0 )
dfs(vec) , sol.push_back({vec,nod}) ;
}
int main()
{
citire() ;
dfs(1) ;
if ( sol.size() < n-1 )
{
fout << "-1" ;
return 0 ;
}
fout << 2*sol.size() << '\n' ;
for ( auto x : sol )
fout << x.first << " " << x.second << '\n' ;
for ( int i = sol.size()-1 ; i >= 0 ; i-- )
fout << sol[i].second << " " << sol[i].first << '\n' ;
}