Cod sursa(job #1427764)

Utilizator emanuel_rRamneantu Emanuel emanuel_r Data 3 mai 2015 00:58:08
Problema Mesaj4 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include<fstream>
#include<vector>
#include<iostream>

using namespace std;

ifstream f("mesaj4.in");
ofstream g("mesaj4.out");

int const NMax = 100005;
vector <int> G[NMax];
int use[NMax];
int n, m;

void citire()
{
    int i, x, y;
    f>>n>>m;
    for(i=1; i<=m; i++){
        f>>x>>y;
        G[x].push_back(y);
        G[y].push_back(x);
    }
}

void DFSF(int nod, int father)
{
    use[nod] = 1;
    int vecin, i;
    for(i=0; i<G[nod].size(); i++){
        vecin = G[nod][i];
        if(!use[vecin])
            DFSF(vecin, nod);
    }

    if(father)
        g<<nod<<" "<<father<<"\n";
}

void DFSN(int nod)
{
    use[nod] = 1;
    int vecin, i;
    for(i=0; i<G[nod].size(); i++){
        vecin = G[nod][i];
        if(!use[vecin]){
            g<<nod<<" "<<vecin<<"\n";
            DFSN(vecin);
        }
    }
}

int main()
{
    citire();

    g<<2*n - 2<<"\n";

    DFSF(1, 0);

    for(int i=1; i<=n; i++)
        use[i] = 0;

    DFSN(1);
    return 0;
}