Advertisement
vov44k

t111540

Feb 2nd, 2023
821
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.48 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Scanner;
  3.  
  4. public class Main {
  5.     static Scanner in = new Scanner(System.in);
  6.     static int n = in.nextInt();
  7.     static int m = in.nextInt();
  8.     static int[] used = new int[n + 1];
  9.     static int k = 0;
  10.     static ArrayList<Integer>[] array;
  11.     static ArrayList<Integer>[] ans;
  12.  
  13.     public static void dfs(int v, int t) {
  14.         used[v] = 1;
  15.         ans[t].add(v);
  16.         for (int i = 0; i < array[v].size(); i++) {
  17.             int u = array[v].get(i);
  18.             if (used[u] == 0) {
  19.                 dfs(u, t);
  20.             }
  21.         }
  22.     }
  23.  
  24.  
  25.     public static void main(String[] args) {
  26.         array = new ArrayList[n + 1];
  27.         ans = new ArrayList[n + 1];
  28.         for (int i = 0; i < array.length; i++) {
  29.             array[i] = new ArrayList<Integer>();
  30.         }
  31.         for (int i = 0; i < m; i++) {
  32.             int r = in.nextInt();
  33.             int r2 = in.nextInt();
  34.             array[r].add(r2);
  35.             array[r2].add(r);
  36.         }
  37.         for (int i = 1; i < n + 1; i++) {
  38.             if (used[i] == 0) {
  39.                 ans[k] = new ArrayList<Integer>();
  40.                 dfs(i, k++);
  41.             }
  42.         }
  43.         System.out.println(k);
  44.  
  45.         for (int i = 0; i < k; i++) {
  46.             System.out.println(ans[i].size());
  47.             for (int j = 0; j < ans[i].size(); j++) {
  48.                 System.out.print(ans[i].get(j) + " ");
  49.             }
  50.             System.out.println();
  51.         }
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement