21 lines
487 B
Python
21 lines
487 B
Python
|
import statistics
|
||
|
from collections import namedtuple
|
||
|
from typing import List, Set
|
||
|
|
||
|
Point = namedtuple('Point', 'x y')
|
||
|
|
||
|
|
||
|
def mbc_ch(points: Set[Point]):
|
||
|
# Find the point with median x-coordinate, and partition the points on this point
|
||
|
pm = statistics.median_high(points)
|
||
|
|
||
|
pl = {point
|
||
|
for point in points
|
||
|
if point.x < pm.x}
|
||
|
|
||
|
pr = {point
|
||
|
for point in points
|
||
|
if point.x >= pm.x}
|
||
|
|
||
|
# Find the bridge over the vertical line in pm
|
||
|
|