fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5.  
  6. class Ideone
  7. {
  8.  
  9. static int t1, t2;
  10. static int[][] graph;
  11. static boolean[] visit;
  12.  
  13. private static void dfs(int x){
  14. if(visit[x]){
  15. return;
  16. }
  17.  
  18. visit[x] = true;
  19. for (int i =0;i<=t1;i++){
  20. if(graph[x][i] == 1){
  21. dfs(i);
  22. }
  23. }
  24.  
  25. }
  26.  
  27. public static void main (String[] args) throws java.lang.Exception
  28. {
  29. StringTokenizer st = new StringTokenizer(br.readLine());
  30.  
  31. t1 = Integer.parseInt(st.nextToken());
  32. t2 = Integer.parseInt(st.nextToken());
  33. int res = 0;
  34.  
  35. graph = new int[t1+1][t1+1];
  36. visit = new boolean[t1+1];
  37.  
  38.  
  39. for(int i=0;i<t2;i++){
  40. st = new StringTokenizer(br.readLine());
  41. int u = Integer.parseInt(st.nextToken());
  42. int v = Integer.parseInt(st.nextToken());
  43.  
  44. graph[u][v] = 1;
  45. graph[v][u] = 1;
  46. }
  47.  
  48. for(int i=1;i <= t1;i++){
  49. if(!visit[i]){
  50. res++;
  51. dfs(i);
  52. }
  53. }
  54.  
  55. System.out.println(res);
  56.  
  57.  
  58.  
  59.  
  60. }
  61.  
  62.  
  63. }
Success #stdin #stdout 0.1s 53092KB
stdin
6 8
1 2
2 5
5 1
3 4
4 6
5 4
2 4
2 3
stdout
1