Cod sursa(job #288027)

Utilizator dReaMerAndrei Sofian dReaMer Data 25 martie 2009 14:40:33
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<stdio.h>

int n,a[10000][10000],vizitat[10000];

void citeste(){
	int i,j,k,m; 
	scanf("%d%d",&n,&m);
	for(k=1;k<=m;k++){
		scanf("%d%d",&i,&j);
		a[i][j]=a[j][i]=1;
	}
}

void df_n(int x,int &p){
	int i;
	vizitat[x]=1; p++;
	for(i=1;i<=n;i++)
	if(a[x][i]==1 && vizitat[i]==0) 
		df_n(i,p);
}

int con_max(){
	int max=0,p;
	for(int i=1;i<=n;i++)
    if(vizitat[i]==0){
		p=0;
        df_n(i,p);
        if (p>max) 
			max=p;
	}
	return max;
}

int main(){
	freopen("dfs.in","r",stdin);  
	freopen("dfs.out","w",stdout);  
	citeste();
	printf("%d",con_max());
	return 0;
}