Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Circle:
- def __init__(self, r_i, x_i, y_i, vx_i, vy_i) -> None:
- super().__init__()
- self.vy = vy_i
- self.vx = vx_i
- self.y = y_i
- self.x = x_i
- self.r = r_i
- def touches(self, circle):
- if ((self.x - circle.x) ** 2 + (self.y - circle.y) ** 2) ** (1 / 2) <= (circle.r + self.r):
- return True
- return False
- N, T, dt = map(int, input().split())
- circles = []
- for i in range(N):
- r_i_inp, x_i_inp, y_i_inp, vx_i_inp, vy_i_inp = map(int, input().split())
- circles[i] = Circle(r_i_inp, x_i_inp, y_i_inp, vx_i_inp, vy_i_inp)
- collisions_number = 0
- for time in range(0, T + 1, dt):
- for i in range(N):
- circles[i].x += circles[i].vx
- circles[i].y += circles[i].vy
- for i in range(N):
- for j in range(i + 1, N):
- if circles[i].touches(circles[j]):
- collisions_number += 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement