fork download
  1. def calslope(x1, y1, x2, y2):
  2. slope_string = ””
  3.  
  4. if (x2 - x1 == 0):
  5. slope_string = ’INF’
  6. elif(y2 - y1 == 0):
  7. slope_string =0
  8. else :
  9. frac = Fraction(y2 - y1, x2 - x1)
  10.  
  11. sign = ’+’
  12. if frac.numerator < 0:
  13. sign = ’-‘
  14.  
  15. slope_string = sign + ‘ | ’+str(abs(frac.numerator)) + ‘ | ’+str(abs(frac.denominator))
  16. return slope_string
  17.  
  18. def caldistance(x1, y1, x2, y2):
  19.  
  20. return str(((y2 - y1) * (y2 - y1)) + ((x2 - x1) * (x2 - x1)))
  21.  
  22. def calintercepts(x1, y1, x2, y2):
  23. s_y = y2 - y1
  24. s_x = x2 - x1
  25. intercept_string =
  26.  
  27. if s_y == 0:
  28. intercept_string = ’+ | ’+str(abs(y1)) + ‘#INF’
  29. if y1 < 0:
  30. intercept_string = ’- | ’+str(abs(y1)) + ‘#INF’
  31.  
  32. elif s_x == 0:
  33. intercept_string = ’INF# + ’ +str(abs(x1))
  34. if x1 < 0:
  35. intercept_string = ’INF# - ‘ +str(abs(x1))
  36.  
  37. else :
  38. slope = Fraction(s_y, s_x)
  39. c = Fraction((slope.denominator * y1 - slope.numerator * x1), slope.denominator)
  40. y_intercept = c
  41. x_intercept = Fraction(-1 * c.numerator * slope.denominator, c.denominator * slope.numerator)
  42.  
  43. y_int_string =
  44. sign = ‘+’
  45. if y_intercept.numerator < 0:
  46. sign = ’-‘
  47. y_int_string = sign + ‘ | ’+str(abs(y_intercept.numerator)) + ’ | ’+str(abs(y_intercept.denominator))
  48.  
  49. x_int_string =
  50. sign = ‘+’
  51. if x_intercept.numerator < 0:
  52. sign = ’-‘
  53. x_int_string = sign + ‘ | ’+str(abs(x_intercept.numerator)) + ’ | ’+str(abs(x_intercept.denominator))
  54.  
  55. intercept_string = y_int_string + ‘#’ +x_int_string
  56. return intercept_string
  57.  
  58. def parsepoints(n, point_x, point_y):
  59.  
  60. #for i in range(0, n): #print point_x[i], point_y[i]
  61.  
  62. MAP = {}
  63. for i in range(0, n - 1):
  64. for j in range(i + 1, n):
  65. a = point_x[i]
  66. b = point_y[i]
  67. c = point_x[j]
  68. d = point_y[j]
  69.  
  70. mapstring = calslope(a, b, c, d) + ‘#’ +caldistance(a, b, c, d) + ‘#’ +calintercepts(a, b, c, d)
  71.  
  72. if mapstring in MAP:
  73. MAP[mapstring].append(i)
  74. MAP[mapstring].append(j)
  75. else :
  76. MAP[mapstring] = []
  77. MAP[mapstring].append(i)
  78. MAP[mapstring].append(j)
  79. ans = 2
  80. for ms in MAP:
  81. points = MAP[ms]
  82. points = list(set(points))# print len(points)
  83. arr = list()
  84. for i in range(0, len(points)):
  85. p = list()
  86. p.append(point_x[points[i]])
  87. p.append(point_y[points[i]])
  88. arr.append(p)
  89.  
  90. arr.sort(key = lambda k: [k[0], k[1]])
  91.  
  92. d = caldistance(arr[0][0], arr[0][1], arr[1][0], arr[1][1])
  93. count = 2
  94. for i in range(1, len(arr) - 1):
  95. dnew = caldistance(arr[i][0], arr[i][1], arr[i + 1][0], arr[i + 1][1])
  96. if dnew == d:
  97. count = count + 1
  98. ans = max(ans, count)
  99. else :
  100. d = dnew
  101. count = 2
  102. print ans
  103. if ans > 3:
  104. return ans
  105. else :
  106. return 0
  107. return ans
  108.  
  109. n = raw_input()
  110. point_x = list()
  111. point_y = list()
  112. for i in range(0, int(n)):
  113. s = raw_input()
  114. x = s.split(#”)[0]
  115. y = s.split(#”)[1]
  116. point_x.append(int(x))
  117. point_y.append(int(y))
  118.  
  119. print parsepoints(int(n), point_x, point_y)
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/py_compile.py", line 117, in compile
    raise py_exc
py_compile.PyCompileError:   File "prog.py", line 2
    slope_string = ””
                   ^
SyntaxError: invalid syntax

stdout
Standard output is empty