Cod sursa(job #2825641)

Utilizator cezar.balutaCezar Baluta cezar.baluta Data 4 ianuarie 2022 22:47:26
Problema Mesaj4 Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <bitset>

using namespace std;

ofstream out("mesaj4.out");

const int N = 100005;
vector<int>v[N];
bitset<N>viz;
int cnt=0;
vector<int>rasp;

void dfs(int x){
    viz[x] = true;
    for(auto y:v[x]){
        if(!viz[y]) {
            cnt+=2;
            rasp.push_back(x);
            rasp.push_back(y);
            dfs(y);
        }
    }
}

int main() {
    ifstream in("mesaj4.in");
    int n,m;
    in>>n>>m;
    int x,y;
    while(m--){
        in>>x>>y;
        v[x].push_back(y);
        v[y].push_back(x);
    }
    dfs(1);
    out<<n*2-2<<'\n';
    for(int i=cnt-1;i>=0;i-=2){
        out<<rasp[i]<<' '<<rasp[i-1]<<'\n';
    }
    for(int i=0;i<cnt;i+=2){
        out<<rasp[i]<<' '<<rasp[i+1]<<'\n';
    }


    return 0;
}