Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- N = int(input())
- xes = []
- yes = []
- for _ in range(N):
- a, b = map(float, input().split())
- xes.append(a)
- yes.append(b)
- minX = min(xes) - 1
- maxX = max(xes) + 1
- minY = min(yes) - 1
- maxY = max(yes) + 1
- # print(minX, maxX, minY, maxY)
- # print("I have started")
- P = 2 * (maxX - minX + maxY - minY)
- # print("P=", P)
- # left top angle
- b1 = maxY - minX
- b2 = maxY - minX
- check = 0
- while check == 0:
- b2 -= 1
- for i in range(N):
- if yes[i] == xes[i] + b2:
- check = 1
- check = 1
- P = P + (2 ** 0.5 - 2) * (b1 - b2)
- # print("P=", P)
- # right bottom angle
- b1 = minY - maxX
- b2 = b1
- check = 0
- while check == 0:
- b2 += 1
- for i in range(N):
- if yes[i] == xes[i] + b2:
- check = 1
- check = 1
- P = P + (2 ** 0.5 - 2) * (b2 - b1)
- # print("P=", P)
- # right top angle
- b1 = maxY - maxX
- b2 = b1
- check = 0
- while check == 0:
- b2 -= 1
- for i in range(N):
- if yes[i] == -xes[i] + b2:
- check = 1
- check = 1
- P = P + (2 ** 0.5 - 2) * (b1 - b2)
- # print("P=", P)
- # bottom left angle
- b1 = minY - minX
- b2 = b1
- check = 0
- while check == 0:
- b2 += 1
- for i in range(N):
- if yes[i] == -xes[i] + b2:
- check = 1
- check = 1
- P = P + (2 ** 0.5 - 2) * (b2 - b1)
- # print("P=", P)
- print(round(P, 10))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement