Advertisement
jbn6972

coverit

Oct 17th, 2021
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.13 KB | None | 0 0
  1. import sys
  2. import os
  3. if not os.environ.get("ONLINE_JUDGE"):
  4.     sys.stdin = open('./in.txt', 'r')
  5.     sys.stdout = open('./out.txt', 'w')
  6.  
  7. for _ in range(int(input())):
  8.     n,m =map(int,input().split())
  9.     odd_nodes = []
  10.     even_nodes = []
  11.     al = [[] for _ in range(n+1)]
  12.     visited = [False]*(n+1)
  13.     level = [sys.maxsize]*(n+1)
  14.     for _ in range(m):
  15.         u,v = map(int,input().split())
  16.         al[u].append([v,0])
  17.         al[v].append([u,0])
  18.    
  19.     # print(*al)
  20.     queue = [1]
  21.     level[1] = 0
  22.     even_nodes.append(1)
  23.  
  24.     visited[1] = True
  25.  
  26.     while queue:
  27.         u = queue[0]
  28.         queue.pop(0)
  29.  
  30.         for edges in al[u]:
  31.             v,w = edges
  32.             if not visited[v]:
  33.                 visited[v] = True
  34.                 queue.append(v)
  35.                 level[v] = level[u]+1
  36.  
  37.                 if level[v] %2 == 0:
  38.                     even_nodes.append(v)
  39.                 else:
  40.                     odd_nodes.append(v)
  41.  
  42.     if len(even_nodes) > len(odd_nodes):
  43.         print(len(odd_nodes))
  44.         print(*odd_nodes)
  45.     else:
  46.         print(len(even_nodes))
  47.         print(*even_nodes)
  48.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement