class Area:
def __init__(self,height,width):
self.square = []
for i in range(width):
for l in range(height):
ul = i * (height + 1) + l + 1
self.square.append([ul,ul+height+1,ul+height+2,ul+1])
self.length = len(self.square) * 2 + 1
def show_points(self,num):
if 0 < num < self.length:
p, q = (num - 1) // 2, num % 2
if q:
ans = self.square[p][:3]
return ans
else:
ans = self.square[p]
ans.pop(1)
return sorted(ans)
def show_all(self):
for i in range(1,self.length):
print("#{}: {}".format(i,self.show_points(i)))
p = Area(2,2)
p.show_all()
Y2xhc3MgQXJlYToKICAgIGRlZiBfX2luaXRfXyhzZWxmLGhlaWdodCx3aWR0aCk6CiAgICAgICAgc2VsZi5zcXVhcmUgPSBbXQogICAgICAgIGZvciBpIGluIHJhbmdlKHdpZHRoKToKICAgICAgICAgICAgZm9yIGwgaW4gcmFuZ2UoaGVpZ2h0KToKICAgICAgICAgICAgICAgIHVsID0gaSAqIChoZWlnaHQgKyAxKSArIGwgKyAxCiAgICAgICAgICAgICAgICBzZWxmLnNxdWFyZS5hcHBlbmQoW3VsLHVsK2hlaWdodCsxLHVsK2hlaWdodCsyLHVsKzFdKQogICAgICAgIHNlbGYubGVuZ3RoID0gbGVuKHNlbGYuc3F1YXJlKSAqIDIgKyAxCgogICAgZGVmIHNob3dfcG9pbnRzKHNlbGYsbnVtKToKICAgICAgICBpZiAwIDwgbnVtIDwgc2VsZi5sZW5ndGg6CiAgICAgICAgICAgIHAsIHEgPSAobnVtIC0gMSkgLy8gMiwgbnVtICUgMgogICAgICAgICAgICBpZiBxOgogICAgICAgICAgICAgICAgYW5zID0gc2VsZi5zcXVhcmVbcF1bOjNdCiAgICAgICAgICAgICAgICByZXR1cm4gYW5zCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBhbnMgPSBzZWxmLnNxdWFyZVtwXQogICAgICAgICAgICAgICAgYW5zLnBvcCgxKQogICAgICAgICAgICAgICAgcmV0dXJuIHNvcnRlZChhbnMpCgogICAgZGVmIHNob3dfYWxsKHNlbGYpOgogICAgICAgIGZvciBpIGluIHJhbmdlKDEsc2VsZi5sZW5ndGgpOgogICAgICAgICAgICBwcmludCgiI3t9OiB7fSIuZm9ybWF0KGksc2VsZi5zaG93X3BvaW50cyhpKSkpCgpwID0gQXJlYSgyLDIpCnAuc2hvd19hbGwoKQ==
#1: [1, 4, 5]
#2: [1, 2, 5]
#3: [2, 5, 6]
#4: [2, 3, 6]
#5: [4, 7, 8]
#6: [4, 5, 8]
#7: [5, 8, 9]
#8: [5, 6, 9]