Advertisement
Guest User

Untitled

a guest
Apr 3rd, 2020
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.32 KB | None | 0 0
  1. N = int(input())
  2. xes = []
  3. yes = []
  4.  
  5. for _ in range(N):
  6.     a, b = map(float, input().split())
  7.     xes.append(a)
  8.     yes.append(b)
  9.  
  10. minX = min(xes) - 1
  11. maxX = max(xes) + 1
  12. minY = min(yes) - 1
  13. maxY = max(yes) + 1
  14. # print(minX, maxX, minY, maxY)
  15. # print("I have started")
  16. P = 2 * (maxX - minX + maxY - minY)
  17. # print("P=", P)
  18. # left top angle
  19. b1 = maxY - minX
  20. b2 = maxY - minX
  21. check = 0
  22. while check == 0:
  23.     b2 -= 1
  24.     for i in range(N):
  25.         if yes[i] == xes[i] + b2:
  26.             check = 1
  27.         check = 1
  28. P = P + (2 ** 0.5 - 2) * (b1 - b2)
  29. # print("P=", P)
  30. # right bottom angle
  31. b1 = minY - maxX
  32. b2 = b1
  33. check = 0
  34. while check == 0:
  35.     b2 += 1
  36.     for i in range(N):
  37.         if yes[i] == xes[i] + b2:
  38.             check = 1
  39.         check = 1
  40. P = P + (2 ** 0.5 - 2) * (b2 - b1)
  41. # print("P=", P)
  42. # right top angle
  43. b1 = maxY - maxX
  44. b2 = b1
  45. check = 0
  46. while check == 0:
  47.     b2 -= 1
  48.     for i in range(N):
  49.         if yes[i] == -xes[i] + b2:
  50.             check = 1
  51.         check = 1
  52. P = P + (2 ** 0.5 - 2) * (b1 - b2)
  53. # print("P=", P)
  54. # bottom left angle
  55. b1 = minY - minX
  56. b2 = b1
  57. check = 0
  58. while check == 0:
  59.     b2 += 1
  60.     for i in range(N):
  61.         if yes[i] == -xes[i] + b2:
  62.             check = 1
  63.         check = 1
  64. P = P + (2 ** 0.5 - 2) * (b2 - b1)
  65. # print("P=", P)
  66.  
  67. print(round(P, 10))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement