Capturing a pirate ship

Source: Puzzle collection of K. Rustan M. Leino, Microsoft Research


Solution:Thanx to Suyash Roongta (First Year, IIT Delhi) for posting solution in comments!!


  1. let the speed of the pirate ship be s. Thus at any time t after the sighting of the pirate ship, its locus will be a circle of radius ts centered at its initial position. suppose at the time of the sighting, the pirate ship is at a distance d from the government ship. We have to make sure that after time t, the government ship is at a distance of ts from the initial position of the pirate ship. So, we go in 2/3 d towards the position of the pirate ship, and then start moving in a spiral such that the rate of increase in radius is s. Thus we will always be at a distance of ts from the initial position of the pirate ship, same as the pirate ship. and by the time we have completed one rotation, we should have captured the pirate ship, assuming it does not change directions.
    does this look good?
    ps: this is the iitd first year wala suyash

  2. hey , how to solve this .. i tried but cudnt solve ..
    are there any assumptions to be made ?

  3. @suyash.. Very good solution.. Thanx.. I and most of the people I talked to were not able to solve this problem. Thanx a lot. :)

  4. @pranav (sahaj kadhi)
    There are no assumptions to be made other than that the pirate ship is moving in a straight line.

  5. You will have to prove that one complete rotation is possible - this depends on the relative speeds of the ships.

  6. All we need is the speed of the government ship to be greater than the speed of the pirate ship, which is the case here.
    The government ship can then use its speed to move around the initial point of the pirate ship in a spiral, taking its own sweet time to complete a rotation (which is perfectly possible because only a part of the speed goes in increasing the radius of the spiral, allowing it to move along the circumference at the same time).

  7. OK. working from suyash's ide, suppose the pirate ship has a speed v and our ship has a speed 2v, then when we are at the point where we would have met the ship if it started heading towards us, we have to move to the next point that we can intercept the ship.

    Assume that we would reach that point at time dt later where dt is a vanishingly small number. Then using polar co-ordinates and a bit of Pythagoras, our vector length 2*v*dt is the hypotenuse of a right angle triangle with opposite side v*dt along the line from the original position of the pirate ship to its next potential point, and an adjacent side of v*t*da, where t is the time since we first saw the pirate ship and da is the vanishingly small change in the angle to the new potential point.

    So we have:

    (2*v*dt)^2 = (v*dt)^2 + (v*t*da)^2

    Dividing by v^2, simplifying and taking square roots we have

    sqrt(3)*dt = t*da

    or dt/da = t/sqrt(3)

    which inegrates to give

    t = exp(a/sqrt(3)) + constant

    The time taken is the time taken to go from a = 0 to a = 2*PI, which is exp(2*PI/sqrt(3))-1.

  8. Here's the "true" solution! ;-)

    Since the Earth is a sphere, just go to the point where the pirate ship was and wait. The pirate ship is traveling along a straight line (one of the great circles), so eventually it will come back around to the same point.

    The speed of the ships doesn't matter at all. :-P


Post a Comment

Popular posts from this blog

Asking a girl out

Consecutive Heads

Fraction Brainteaser