andcoliner.blogg.se

Burn the rope
Burn the rope












burn the rope

Start burning the x_prev minutes as we burn the next rope from 2 ends.This means we can achieve abs( x - x_prev ) minutes. Start burning the x_prev minutes as we burn the next rope from 1 end.This means we can achieve x_prev + x/2 minutes. Wait for the whole x_prev minutes to expire, then burn the next rope from 2 ends.This means we can achieve x_prev + x minutes. Wait for the whole x_prev minutes to expire, then burn the next rope from 1 end.Then, consider what happens if we add the n+1th rope. Now, suppose it is possible to measure x_prev minutes with n ropes. We can start with a base state of 1 rope yields x minutes or x/2 minutes. I might have overlooked something, so be wary even if it seems to make sense. Well, here is my attempt to solve the problem with greater efficiency. until n = 0 (All ropes finished burning)įor n = 2 and x = 60, I've found that the following time period can be measured: 30, 60, 90, 120, 45 and 15.Īs suggested, I posted the question on cs.:

burn the rope

Repeat the step 1 argument with x + y + z = n - 1 (with constraints imposed on x, y, and z since some ropes are still burning and we cannot set the fire off) and add all the newly generated cases to the stack/queue. Now we have another scenarios with certain amount of ropes that are being burnt. Output the time that has passed (calculated based on how long the finished rope has burnt, and which ends were burnt at what time). For each item in the stack/queue, determine how many minutes have passed when there is a rope finishes burning.Consider all possible cases for x, y and z and add those cases to a stack/queue. We have x + y + z = n and that x,y,z are positive integers and z != 0. Let number of ropes that will not be burnt at this stage be x, number of ropes that will be burnt one end be y, and number of ropes that will not be burnt at all be z. For a given rope, we have choices either to burn both ends, one end, or not burning the rope at all. Start at minute 0, we have n ropes, each takes x minutes to burn.I imagine the solution to this would involve dynamic programming, but I am not quite sure. Of course my aim would be finding an algorithm with minimal complexity. (burning one end of the rope), or 30 minute period (burning both ends Using these n ropes, what time quantity can you measure?įor example, with n = 1 and x = 60, I can measure 60 minute period But the ropes have different densities at different points, so There are n ropes, each rope takes x minutes toīurn (for simplicity assume x is positive integer). How do you use these two ropes to measure 45 minutes? There’s no guarantee of consistency in the time it takes different But either rope has different densities at different points, so

burn the rope

Original question: There are two ropes, each rope takes 1 hour toīurn. That's funny enough to earn an extra star.Generalized from a technical interview question: (UPDATE: The author realized this himself and changed the game's title. The original parodies the aspects of modern online platformers, but that joke doesn't work if the medium isn't a modern online platformer and the author of this version clearly has no insight of this genre to make a similar commentary on the aspects of modern IF games.īesides, if the game is called You Have To Burn The Rope and the command BURN THE ROPE is a "dangerous act that would achieve little", something has really gone wrong. The commentary of the original game is completely lost when the medium changes. You Have To Burn The Rope is a clever, funny and meaningful little Flash game, and this is its literal novelization.Īs it now is, it doesn't work. I was once again reminded of it when I played this game. It was a huge disappointment: the book was essentially the entire script written in complete sentences, nothing added or removed. When I was a kid I read a novelization of Indiana Jones and the Last Crusade.














Burn the rope