Connect Stars Connect Stars
Undefined
English JA

In this mission you'll have to make the Minimum spanning tree (Wikipedia).

You are given a list of coordinates of vertices. Each coordinate is a tuple of x (integer) and y (integer).
You have to return a list (or an iterable) of lines that connect all vertices. The total length of lines should be the minimum. Each line is a tuple of two integers. These integers represent the index of list of input.

NOTE:

  • The output of tests has a unique combination of lines.

Example:

connect_stars([(1, 1), (4, 4)])) == [(0, 1)]                         # or [(1, 0)]
connect_stars([(1, 1), (4, 1), (4, 4)])) == [(0, 1), (1, 2)]         # or [(1, 2), (0, 1)] , [(1, 0), (2,1)] etc
connect_stars([(6, 6), (6, 8), (8, 4), (3, 2)])) == [(0, 1), (0, 2), (0, 3)]   # or [(2, 0), (0, 3), (1, 0)] etc

example

Input:

  • A list of coordinates of vertices.
    • Each coordinate is a tuple of x (integer) and y (integer).

Output:

  • A list (or an iterable) of lines.
    • Each line is a tuple of two integers. These integers represent the index of list of input.
    • The order of lines and each index is arbitrary (see examples).

Precondition:

  • 2 ≤ len(input) ≤ 50
  • 0 ≤ x (,y) ≤ 999