Nu aveti permisiuni pentru a descarca fisierul grader_test21.in
Cod sursa(job #478845)
Utilizator | 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";
}