圆桌上围坐着2n个人。其中n个人是好人,另外n个人是坏人。如果从第一个人开始数数,数到第m个人,则立即处死该人;然后从被处死的人之后开始数数,再将数到的第m个人处死……依此方法不断处死围坐在圆桌上的人。试问预先应如何安排这些好人与坏人的座位,能使得在处死n个人之后,圆桌上围坐的剩余的n个人全是好人。
时间: 2023-05-31 11:19:57 浏览: 291
### 回答1:
这是一个经典的约瑟夫问题。解决方法是:将好人和坏人分别排成一列,然后将好人列和坏人列交错排列,即好人列的第一个人和坏人列的第一个人坐在一起,好人列的第二个人和坏人列的第二个人坐在一起,以此类推。这样排列后,从第一个人开始数数,每数到第m个人就将他处死,最后剩下的n个人一定都是好人。
### 回答2:
首先,我们可以假设在第一个好人被处决之前,圆桌上的情况为H-H-H-...-H-B-B-B-...-B,其中H代表好人,B代表坏人。我们需要给这些人安排座位,以便在最后剩余的n个人全是好人。
考虑从第一个人开始数数,并处决第m个人。假设第一个被处决的是第k个人,那么此时圆桌上的情况为B-B-...-B-H-H-...-H-B-B-...-B。第k+1个人成为新的第一个人,需要从他开始数数。我们希望在第二轮中,第一个被处决的仍然是一个坏人,否则在处决完n个人之后,余下的人中就不可能再有n个好人了。
因此,我们可以将好人和坏人交错着排在圆桌上。具体方法如下:
1. 将所有的好人和坏人分别排成两个圆。
2. 将两个圆分别沿着中心轴折叠,使得好人和坏人交错排列在一个圆里。
3. 将第一个好人放在第一个位置,然后顺时针放置其余好人和坏人。
例如,当n=4时,座位的排列方式为H-B-H-B-H-B-H-B,如下图所示:
H B
B H
B H
B H
当m=3时,第一个被处决的是第3个人,即一个坏人。此时圆桌上的情况变为B-H-B-H-B-H-...-H-B。下一轮从第4个人开始数数,仍然是数到一个坏人才会处决他,因此我们可以保证在处决完n个人之后,圆桌上剩余的n个人全是好人。
总之,将好人和坏人交错着排列,可以保证在圆桌上任意位置开始处决,都能保证在处决完n个人之后,圆桌上剩余的n个人全是好人。
### 回答3:
首先,将好人编号为1~n,坏人编号为n+1~2n。
我们假设答案中坏人的编号为b1, b2, ..., bn,好人的编号为g1, g2, ..., gn。
考虑让第一个被处死的人为bn,这样圆桌上就只剩下了n-1个坏人和n个好人,好人的编号为1~n。
假设接下来留下了好人g1,此时圆桌上只剩下了n-2个坏人和n-1个好人。又由于此时从g1开始重新数数,那么相当于从原来的第2个位置开始重新数数,即第二个被处死的人应该是坏人b2。
按照这个思路,我们可以得到一种安排方案:
首先让第一个被处死的人为b(n),接着每次让留下来的好人编号为上一次留下来的好人的下一个,第k个被处死的人为bk。
证明:每次留下来的好人编号都是上一次留下来的好人的下一个,因此这些好人的编号构成了一个大小为n的“循环节”,每次留下来的好人都是这个循环节中的下一个人。由于在“循环节”之外,又有n个坏人和n个好人,所以共有2n个人。因此每个人正好都会被处死一次。最后留下来的是好人g(n),满足要求。
这样的安排方案是唯一的吗?我们来证明一下。
设第一个被处死的人是bx,第k个被处死的人是bk,留下的好人的编号为g1, g2, ..., gn。
首先,bx不能是好人,否则第一次留下来就留下了一个好人,此后永远无法留下所有好人。
bk不能选择一个比bk-1小的坏人,否则有一个好人在“循环节”中被留下了两次,而另外的一个好人永远不可能被留下。
bk也不能是好人,否则在“循环节”中会留下两个好人。
至此,我们证明了上述安排方案的唯一性。
阅读全文