37 lines
650 B
Python
37 lines
650 B
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
|
|
point_mask = 0b11100000
|
|
points = [
|
|
(75, 32),
|
|
(111, 213),
|
|
(79, 33),
|
|
(1, 33),
|
|
(80, 35),
|
|
(12, 254),
|
|
(215, 78),
|
|
(211, 121)
|
|
]
|
|
x0, y0 = (78, 33)
|
|
|
|
tmp_out_mask = 0
|
|
cur_pt_mask = 1
|
|
min_dist = 0xFF
|
|
|
|
if __name__ == "__main__":
|
|
for x, y in points:
|
|
if not cur_pt_mask & point_mask:
|
|
cur_pt_mask <<= 1
|
|
continue
|
|
|
|
dist = abs(x - x0) + abs(y - y0)
|
|
|
|
if dist < min_dist:
|
|
min_dist = dist
|
|
tmp_out_mask = cur_pt_mask
|
|
elif dist == min_dist:
|
|
tmp_out_mask |= cur_pt_mask
|
|
|
|
cur_pt_mask <<= 1
|
|
|