Cod sursa(job #2660265)

Utilizator mihaifluturFlutur Mihail mihaiflutur Data 18 octombrie 2020 17:22:24
Problema Mesaj4 Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>
#include <vector>
std::ifstream fin("mesaj4.in");
std::ofstream fout("mesaj4.out");
bool use[100002];
int n,m,nrnod;
using std::vector;
vector<std::pair<int,int>> s;
vector<vector<int>> v;
vector<int>::iterator I;
void dfs(int nod)
{
    use[nod]=1; ++nrnod;
    for(auto x:v[nod])
        if(!use[x])
        {
            dfs(x);
            fout<<x<<" "<<nod<<"\n";
            s.insert(s.begin(),std::make_pair(nod,x));
        }
}
int main()
{
    fin>>n>>m;
    fout<<2*n-2<<"\n";
    int x,y;
    v.resize(n+2);
    for(int i=0; i<m; i++)
    {
        fin>>x>>y;
        v[x].push_back(y);
        v[y].push_back(x);
    }
    dfs(1);
    if(nrnod!=n)
    {
        fout.close();
        std::ofstream fout("mesaj4.out");
        fout<<-1<<"\n";
        return 0;
    }
    for(auto x:s)fout<<x.first<<" "<<x.second<<"\n";
    return 0;
}