Cod sursa(job #465649)

Utilizator tranbachhaiTran Bach Hai tranbachhai Data 25 iunie 2010 11:00:29
Problema Mesaj4 Scor 100
Compilator cpp Status done
Runda Stelele Informaticii 2010, gimnaziu si clasa a IX-a, Ziua 1 Marime 0.73 kb
#include<stdio.h>
#include<vector>
#define NMAX 100010

using namespace std;

int k,m,n,viz[NMAX],a[NMAX],b[NMAX];
vector<int> v[NMAX];

void caut(int j)
{
int i;
	for (i=0;i<v[j].size();++i)
		if (!viz[v[j][i]])
		{
		viz[v[j][i]]=1;
		a[++k]=j;
		b[k]=v[j][i];
		caut(v[j][i]);
		}
}

int main()
{
int t1,t2,i;
freopen("mesaj4.in","r",stdin);
freopen("mesaj4.out","w",stdout);

scanf("%d%d",&n,&m);
for (i=1;i<=m;++i)
	{
	scanf("%d%d",&t1,&t2);
	v[t1].push_back(t2);
	v[t2].push_back(t1);
	}
viz[1]=1;
caut(1);
if (k==(n-1))
{
	printf("%d\n",2*(n-1));
	for (i=k;i>=1;--i)
		printf("%d %d\n",b[i],a[i]);
	for (i=1;i<=k;++i)
		printf("%d %d\n",a[i],b[i]);
}
else
	printf("-1/n");

return 0;
}