Cod sursa(job #1705372)

Utilizator deeagrtAndGrt deeagrt Data 20 mai 2016 14:09:21
Problema Parcurgere DFS - componente conexe Scor 80
Compilator java Status done
Runda Arhiva educationala Marime 0.98 kb

import java.io.*;
import java.util.*;

public class Main {
	 static ArrayList<Integer> [] adj;
	 static int[] visited ;
	
	public static void dfs(int n) {
		visited[n] = 1;
		for (Integer x : adj[n])
			if (visited[x] != 1)
				dfs(x);
		 
		 
	}
	public static void main(String[] args) throws IOException {
		 Scanner br= new Scanner(new BufferedInputStream(new FileInputStream("dfs.in")));
		 PrintStream out = new PrintStream(new FileOutputStream("dfs.out"));
		 
		 int n = br.nextInt();
		 int m =  br.nextInt();
		 adj = new ArrayList[n+1];
		 for(int i=1;i<=n;i++) 
			 adj[i] = new ArrayList<Integer>();
		 
		 for (int i = 0 ; i < m ; i++){
			 int x =  br.nextInt();
			 int y =  br.nextInt();
			 adj[x].add(y);
			 adj[y].add(x);
			 }
		 
		 visited = new int[n + 1];
		 int comp = 0;
		 for (int i = 1; i <= n ; i++)
			 if (visited[i] != 1){
				 comp++;
				 dfs(i);
			 }
			out.println(comp);
			out.close();
			br.close();
		 
	}
}