Cod sursa(job #2024762)

Utilizator NicolaalexandraNicola Alexandra Mihaela Nicolaalexandra Data 21 septembrie 2017 10:05:30
Problema Mesaj4 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <vector>
using namespace std;
int n,m,i,k,x,y,v[100001];
vector <int> L[100001];
pair <int,int> sol[100001];
ifstream fin ("mesaj4.in");
ofstream fout ("mesaj4.out");

int dfs (int nod){
    v[nod] = 1;
    for (int i=0;i<L[nod].size();i++){
        int vecin = L[nod][i];
        if (v[vecin] == 0){
            dfs (vecin);
            sol[++k].first = vecin;
            sol[k].second = nod;
        }
    }

}

int main (){
    // facem dfs izi
    fin>>n>>m;
    for (i=1;i<=m;i++){
        fin>>x>>y;
        L[x].push_back (y);
        L[y].push_back (x);
    }
    dfs (1);
    fout<<2*k<<"\n";
    for (i=1;i<=k;i++)
        fout<<sol[i].first<<" "<<sol[i].second<<"\n";
    ///afisam invers
    for (i=k;i>=1;i--)
        fout<<sol[i].second<<" "<<sol[i].first<<"\n";

    return 0;
}