Cod sursa(job #3196719)

Utilizator biancalautaruBianca Lautaru biancalautaru Data 24 ianuarie 2024 17:19:52
Problema Mesaj4 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#include <vector>
#define DIM 100001
using namespace std;
ifstream fin("mesaj4.in");
ofstream fout("mesaj4.out");
int n,m,x,y,cnt;
bool viz[DIM];
vector<int> l[DIM];
struct elem {
    int x,y;
}sol[2*DIM];

void dfs(int nod) {
    viz[nod]=1;
    for (int i=0;i<l[nod].size();i++) {
        int vec=l[nod][i];
        if (viz[vec]==0) {
            sol[++cnt]={vec,nod};
            dfs(vec);
        }
    }
}

int main() {
    fin>>n>>m;
    while (m--) {
        fin>>x>>y;
        l[x].push_back(y);
        l[y].push_back(x);
    }
    dfs(1);
    for (int i=1;i<=n;i++)
        if (viz[i]==0) {
            fout<<-1;
            return 0;
        }
    fout<<2*cnt<<"\n";
    for (int i=cnt;i>=1;i--)
        fout<<sol[i].x<<" "<<sol[i].y<<"\n";
    for (int i=1;i<=cnt;i++)
        fout<<sol[i].y<<" "<<sol[i].x<<"\n";
    return 0;
}