Hippity hoppity, abolish loopity
def frog_collision_time(frog1, frog2):
A frog hopping along on the infinite two-dimensional lattice grid of integers is represented as a 4-tuple of the form (sx, sy, dx, dy) where (sx, sy) is itsstarting positionat time zero, and (dx, dy) is its constantdirection vectorfor each hop. Time advances in discrete integer steps 0, 1, 2, 3, ... so that each frog makes one hop at every tick of the clock. At time t, the position of that frog is given by the formula (sx+t*dx, sy+t*dy) that can be nimbly evaluated for any t.Given two frogs frog1 and frog2 that are guaranteed to initially stand on different squares, return the time when both frogs hop into the same square. If these two frogs never simultaneously arrive at the same square, return None.This function should not contain any loops whatsoever.The result should be calculated using conditional statements and integer arithmetic. Perhaps the best way to get cracking is to first solve a simpler version of this problem with one-dimensional frogs restricted to hop along the onedimensional line of integers. Once you get that function working correctly, including all its possible edge cases such as either one or both frogs jumping axis-aligned or just staying forever in the same place, use that method to solve for t separately for the x- and y-dimensions in the original problem. Combine these two one-dimensional answers into the final answer.
Already registered? Login
Not Account? Sign up
Enter your email address to reset your password
Back to Login? Click here