Cod sursa(job #2792124)

Utilizator NadiraBodrogean Nadira Nadira Data 31 octombrie 2021 23:27:30
Problema Mesaj4 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("mesaj4.in");
ofstream cout("mesaj4.out");
const int Nmax =100003;
vector <int> G[Nmax];
pair <int, int> a[Nmax];
int n,m, nr,ok=1;
bool v[Nmax];
void dfs(int nod, int T)
{
    v[nod] = 1;
    a[++nr] = {T, nod};
    for(auto i : G[nod])
        if(!v[i])
            dfs(i, nod);
}

int main()
{
    int i,x,y;
    cin >> n>> m;

    for(i = 1; i <= m; i++)
    {
        cin >> x >> y;

        G[x].push_back(y);
        G[y].push_back(x);
    }
    dfs(1, 0);

    for( i = 1; i <= n; i++)
        if(!v[i])
        {
            ok=0;
            break;

        }
        if(ok==0)
        {
            cout << "-1"<<'\n';
        }
        else
    {
        cout << 2*(n - 1) << '\n';

    for( i = 2; i <= nr; i++)
        cout << a[i].first << " " << a[i].second << '\n';

    for( i = nr; i >=2; i--)
        cout << a[i].second << " " << a[i].first << '\n';
    }
    return 0;
}