This is a tricky problem, Your first instinct says to set up a phone tree, where one calls two, and the two call four, etc. However, this can't account for the time delay - after the first person calls someone, the second person calls their first person while the first person calls their second person. So after 30 seconds, one call is made (and thus two people informed of the message), and after 60 seconds, two calls are made (and thus four people are informed). After 90 seconds, three calls are made (seven informed), and after 120 seconds five calls are made (12 informed).
It helps if you draw out a timeline showing who's calling their first person and second person at 30 second intervals. You'll find the following:
--After 30 seconds, 1 call (1 made 1st call, 0 made 2nd call), 2 people informed
--After 60 seconds, 2 calls (1 1st, 1 2nd), 4 informed
--After 90 seconds, 3 calls (2 1st, 1 2nd), 7 informed
--After 120 seconds, 5 calls (3 1st, 2 2nd), 12 informed
--After 150 seconds, 8 calls (5 1st, 3 2nd), 20 informed
--After 180 seconds, 13 calls (8 1st, 5 2nd), 33 informed
The pattern goes like this: after the next 30 seconds, the total number of calls from the previous 30 seconds makes their first round of calls, while the number from the 30 previous to that (60 seconds ago) are making their second round of calls. You can then start filling in the rest of the pattern:
--After 210 seconds, 21 calls (13 1st, 8 2nd), 54 informed
--After 240 seconds, 34 calls (21 1st, 13 2nd), 88 informed
Since you only have 85 people, all calls will be complete after 240 seconds (4 minutes).
If you were to try to draw this out in a phone tree-style diagram, you'd see that some of the branches would have more people listed than the others. This makes sense - some branches are going to be done faster than others, so you can have them call more people to make up for the time difference.
2007-04-10 14:50:37
·
answer #1
·
answered by igorotboy 7
·
0⤊
0⤋