Cod sursa(job #465640)

Utilizator tranbachhaiTran Bach Hai tranbachhai Data 25 iunie 2010 10:45:49
Problema Mesaj4 Scor 50
Compilator cpp Status done
Runda Stelele Informaticii 2010, gimnaziu si clasa a IX-a, Ziua 1 Marime 0.63 kb
#include<stdio.h>

int a[200010],b[200010],v[10010][10010];
int k,m,n,viz[100010];

void caut(int j)
{
int i;
	for (i=1;i<=n;++i)
		if (!viz[i] && v[j][i]&& i!=j)
		{
		viz[i]=1;
		a[++k]=j;
		b[k]=i;
		caut(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][t2]=v[t2][t1]=1;
	}
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;
}