Cod sursa(job #1431099)

Utilizator Menabil_Ailin_325CCAilin Menabil Menabil_Ailin_325CC Data 8 mai 2015 23:59:40
Problema Parcurgere DFS - componente conexe Scor 0
Compilator java Status done
Runda Arhiva educationala Marime 1.16 kb
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Main {
	public static int nodes;
	public static int[][] adj;
	public static int[] visited;
	public static int count = 0;
	/**
	 * @param args
	 * @throws FileNotFoundException 
	 */
	
	public static void doDFS(int n){		
		for(int i = 0; i < nodes; i ++){
			if(visited[i] == 0 && adj[n][i] == 1){
		//		System.out.println(i + " ");
				visited[i] = 1;				
			}			
		}			
	}
	
	public static void DFS(){
		
		for(int i = 0;i < nodes; i++){
			if(visited[i] == 0){
		//		System.out.println(i + " ");
				count++;
				doDFS(i);}		
		}		
	}
	
	
	public static void main(String[] args) throws FileNotFoundException {
		Scanner s = new Scanner(new FileInputStream ("date.in"));
		nodes = s.nextInt();
		int edges = s.nextInt();
		visited = new int[nodes];
		
		adj= new int[nodes][];
		for(int i = 0; i< nodes; i++){
			adj[i] = new int[nodes];
		}
		for(int i =0 ; i < nodes; i++)
			for(int j = 0; j < nodes; j++)
				adj[i][j] = 0;
		
		while(s.hasNext()){
			int a = s.nextInt();
			int b = s.nextInt();
			adj[a-1][b-1] = 1;	
			adj[b-1][a-1] = 1;
		}
		s.close();
		DFS();
	}
}