Cod sursa(job #704622)

Utilizator dudutCancel Radu Constantin dudut Data 2 martie 2012 19:13:12
Problema Sortare topologica Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<iostream>
#include<stdio.h>
using namespace std;
int i,j,n,m,x,y,r;
char a[50000][50000],s[50000];
void adancime(int k)
{for(int r=1;r<=n;r++)
	if(a[k][i]==1 && s[i]==0)
		{printf("%d ",r);
			s[r]=1;a[k][r]=a[r][k]=0;
		adancime(r);}
}

int main()
{freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
cin>>n>>m;
for(i=1;i<=m;i++)
	{scanf("%d%d",&x,&y);
		a[x][y]=a[y][x]=1;}
for(i=1;i<=n;i++)
	if(s[i]==0)
		{printf("%d ",i);s[i]=1;adancime (i);
	}
}