Cod sursa(job #478845)

Utilizator freak93Adrian Budau freak93 Data 20 august 2010 17:17:24
Problema Mesaj4 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<fstream>
#include<vector>

using namespace std;

const char iname[]="mesaj4.in";
const char oname[]="mesaj4.out";
const int maxn=100005;

ifstream f(iname);
ofstream g(oname);

int been[maxn],answer[maxn][2],i,n,m,x,y;
vector<int> E[maxn];

void dfs(int x)
{
    been[x]=1;
    for(vector<int>::iterator it=E[x].begin();it!=E[x].end();++it)
        if(been[*it]==0)
            answer[++m][0]=*it,answer[m][1]=x,dfs(*it);
}

int main()
{
    f>>n>>m;
    for(i=1;i<=m;++i)
        f>>x>>y,E[x].push_back(y),E[y].push_back(x);
    m=0;
    dfs(1);
    if(m<n-1)
    {
        g<<"-1\n";
        return 0;
    }
    g<<n*2-2<<"\n";
    for(i=n-1;i;--i)
        g<<answer[i][0]<<" "<<answer[i][1]<<"\n";
    for(i=1;i<n;++i)
        g<<answer[i][1]<<" "<<answer[i][0]<<"\n";

}