Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.lang.Math;
- public class Uyi {
- static Scanner s = new Scanner(System.in);
- static int n = s.nextInt();
- static int m = s.nextInt();
- static ArrayList<Integer> [] a = new ArrayList[n];
- static ArrayList<Integer>[] tree = new ArrayList[n];
- static int [] used = new int [n];
- public static void main(String[] args) {
- for (int i = 0; i < n; i++) {
- a[i] = new ArrayList<>();
- tree[i] = new ArrayList<>();
- }
- for (int i = 0; i < m; i++) {
- int f = s.nextInt()-1;
- int se = s.nextInt()-1;
- a[se].add(f);
- a[f].add(se);
- }
- bfs(0);
- int [] used = new int [n];
- for (int i = 0; i < n; i++){
- used[i] = 1;
- for (int v2: tree[i]) {
- if (used[v2] == 0)
- System.out.println((i+1) + " " + (v2 + 1));
- }
- }
- }
- static void bfs(int start){
- Q q = new Q(100000);
- q.push(start);
- used[start] = 1;
- while (q.tail - q.head != 0){
- int v = q.pop();
- for (int v2 : a[v]) {
- if (used[v2] == 0){
- used[v2] = 1;
- q.push(v2);
- tree[v].add(v2);
- tree[v2].add(v);
- }
- }
- }
- }
- }
- class Q{
- int [] a;
- int head = 0;
- int tail = 0;
- Q(int n){
- a = new int [n];
- }
- int pick(){
- return a[head];
- }
- int pop(){
- return a[head++];
- }
- void push(int k){
- a[tail++] = k;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement