感染晚宴 I
Infected Dinner I
题目详情
大厅里有 1000 人聚餐,其中 1 人已知生病,另外 999 人健康。每分钟每个人随机与大厅中的另一个人交谈(可以重复与同一个人交谈)。
若一方生病一方健康,则健康者被感染并从此一直生病。
问:使得全员都生病的最短时间(分钟)是多少?
There are people having dinner at a grand hall. One of them is known to be sick, while the other are healthy. Each minute, each person talks to one other person in the room at random. There is no limit on how many times a person talks to another person. If one is sick and one is healthy, the healthy person is infected and becomes sick. Once a person becomes sick, they are assumed to be sick for the rest of the dinner. Find the minimum amount of time (in minutes) until every person in the hall becomes sick.
解析
要最短,就让每个已感染者每分钟都和一名健康者交谈,从而感染人数每分钟翻倍:
- 1 分钟后:2 人感染。
- 2 分钟后:4 人感染。
- 一般地, 分钟后: 人感染。
求最小 使 ,因为 ,所以最短为 10 分钟。
Original Explanation
The minimum amount of time would correspond to the most people becoming infected the fastest. This would be when each infected person talks to a healthy person at every step. After minute, there would be infected people. After minutes, there would be infected people, as each of the infected people talks to someone healthy. In general, after minutes, there would be infected people. We now just have to find the minimum such that , which is just .