Advertisement
Guest User

OstovvTrEE

a guest
Apr 8th, 2020
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.*;
  2. import java.lang.Math;
  3. public class Uyi {
  4.     static Scanner s = new Scanner(System.in);
  5.     static int n = s.nextInt();
  6.     static int m = s.nextInt();
  7.     static ArrayList<Integer> [] a = new ArrayList[n];
  8.     static ArrayList<Integer>[] tree = new ArrayList[n];
  9.     static int [] used = new int [n];
  10.     public static void main(String[] args) {
  11.         for (int i = 0; i < n; i++) {
  12.             a[i] = new ArrayList<>();
  13.             tree[i] = new ArrayList<>();
  14.         }
  15.         for (int i = 0; i < m; i++) {
  16.             int f = s.nextInt()-1;
  17.             int se = s.nextInt()-1;
  18.             a[se].add(f);
  19.             a[f].add(se);
  20.         }
  21.         bfs(0);
  22.         int [] used = new int [n];
  23.         for (int i = 0; i < n; i++){
  24.             used[i] = 1;
  25.             for (int v2: tree[i]) {
  26.                 if (used[v2] == 0)
  27.                 System.out.println((i+1) + " " + (v2 + 1));
  28.             }
  29.         }
  30.     }
  31.     static void bfs(int start){
  32.         Q q = new Q(100000);
  33.         q.push(start);
  34.         used[start] = 1;
  35.         while (q.tail - q.head != 0){
  36.             int v = q.pop();
  37.             for (int v2 : a[v]) {
  38.                 if (used[v2] == 0){
  39.                     used[v2] = 1;
  40.                     q.push(v2);
  41.                     tree[v].add(v2);
  42.                     tree[v2].add(v);
  43.                 }
  44.             }
  45.         }
  46.     }
  47. }
  48. class Q{
  49.     int [] a;
  50.     int head = 0;
  51.     int tail = 0;
  52.     Q(int n){
  53.         a = new int [n];
  54.     }
  55.     int pick(){
  56.         return a[head];
  57.     }
  58.     int pop(){
  59.         return a[head++];
  60.     }
  61.     void push(int k){
  62.         a[tail++] = k;
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement