Pagini recente » Monitorul de evaluare | Cod sursa (job #1540476) | Cod sursa (job #612571) | Cod sursa (job #1737608) | Cod sursa (job #1705372)
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();
}
}