Cod sursa(job #2660222)

Utilizator mihaifluturFlutur Mihail mihaiflutur Data 18 octombrie 2020 15:48:27
Problema Mesaj4 Scor 85
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream>
#include <vector>
#include <stack>
std::ifstream fin("mesaj4.in");
std::ofstream fout("mesaj4.out");
bool use[100002];
int n,m;
std::stack<std::pair<int,int>> sol;
std::vector<std::vector<int>> v;
void dfs(int nod)
{
    use[nod]=1;
    for(int i=0; i<(int)v[nod].size(); i++)
        if(!use[v[nod][i]])
        {
            dfs(v[nod][i]);
            fout<<v[nod][i]<<" "<<nod<<"\n";
            sol.push(std::make_pair(nod,v[nod][i]));
        }
}
int main()
{
    fin>>n>>m;
    v.resize(n+2);
    for(int i=0; i<m; i++)
    {
        int x,y;
        fin>>x>>y;
        v[x].push_back(y);
        v[y].push_back(x);
    }
    fout<<2*n-2<<"\n";
    dfs(1);
    for(int i=1; i<=n; i++)
        if(!use[i])
        {
            fout.close();
            std::ofstream fout("mesaj4.out");
            fout<<"-1\n";
            return 0;
        }
    while(!sol.empty())
    {
        fout<<sol.top().first<<" "<<sol.top().second<<"\n";
        sol.pop();
    }
    return 0;
}