fork(1) download
  1. def solve():
  2. n = int(input())
  3. a = [tuple(map(int, input().split())) for i in range(n)]
  4.  
  5. N = 2 * 10**5 + 5
  6. p = list(range(N))
  7.  
  8. def find(x):
  9. while x != p[x]:
  10. p[x] = p[p[x]]
  11. x = p[x]
  12. return x
  13.  
  14. def unite(x, y):
  15. x = find(x)
  16. y = find(y)
  17. if x != y:
  18. p[y] = x
  19. return True
  20. return False
  21.  
  22. s_indices = []
  23. sintervals = []
  24.  
  25. for i in range(n):
  26. u, v = a[i]
  27. if unite(u, v):
  28. s_indices.append(i + 1)
  29. sintervals.append((min(u, v), max(u, v)))
  30.  
  31. print(len(s_indices))
  32. print(*s_indices)
  33.  
  34. t=int(input())
  35. for i in range(t):
  36. solve()
  37.  
Success #stdin #stdout 0.13s 20896KB
stdin
2
1
1 2
4
1 2
2 3
1 3
3 5
stdout
1
1
3
1 2 4