Power Plants Power Plants
Simple
English RU

This mission is another version of the ”Power Supply” mission originated from oduvan's idea.
You have to properly place the given power plants and supply power to all the cities.

The intercity network and the range of each power plant are given as input values. A power plant can provide power to the city where it’s been placed and within its range. You have to return a dictionary, where the key is the city in which you’ll place the power plant and the value is its range.

NOTE:

You will always be given enough or more power-plants. So it isn't always necessary to return all power-plant placements.

Example:

power_plants({('A', 'B'), ('B', 'C'), ('C', 'D'), ('D', 'E')}, [2]) == {'C': 2}
power_plants({('A', 'B'), ('B', 'C'), ('C', 'D'), ('D', 'E'), ('E', 'F')}, [1, 1]) == {'B': 1, 'E': 1}
power_plants({('A', 'B'), ('B', 'C'), ('A', 'D'), ('B', 'E')}, [1, 0]) == {'B': 1, 'D': 0}

Input:

  • The intercity network represented as a set of connections, where each connection is a tuple of two nodes connected with each other.
  • The range of each power plant, represented as a list of integers.

Output:

  • A dictionary of placements, where each key is the city in which you’ll place the power plant and each value is the corresponding range.

Precondition:

  • 3 ≤ number of cities ≤ 50
  • 1 ≤ number of power-plants
  • range of power-plant ≥ 0