\begingroup

摘自2011年南非青少年奥林匹克运动会:

几个人排成一列。有一位孤独的迟到者想加入队列。请证明,他们总能在某个地方加入队列,并且前面的男性人数等于后面的女性人数。

假设队伍仅由女性和男性组成(没有儿童、没有宠物、没有外星人、没有机器人……)

\endgroup


最佳答案
3

\begingroup

假设队列包含w女性和m男性,总计p = w + m=+p=w+m人。然后,考虑函数fff(x)在队列中占据一席之地0 x p00 ≤ x ≤ p(在哪里000在队列开始之前,并且p即在结尾之后的那个位置,输出该位置之后的女性人数减去该位置之前的男性人数。

x = 0=0x=0, 有w该职位之后有女性,而该职位之前没有男性,因此f0 = w 0 = wf0=0=f(0) = w – 0 = w。 在x = p=x=p, 有m担任该职位之前的人,以及000女性追求这一职位,因此fp = 0 m = mf=0=f(p) = 0 – m = -m

现在考虑一下当我们从位置移动时会发生什么x定位x + 1+1x+1

  • 如果x队列中的第一个人是男性,那么该位置之前的男性数量增加111, 所以fff(x)减少111
  • 否则,如果x队列中的第 1 个人是女性,那么该位置之后的女性数量减少111, 所以fff(x)减少111

无论如何,fx + 1 = fx −1f+1=f1f(x + 1) = f(x) – 1

作为f0 = wf0=f(0) = w, 和fx + 1 = fx −1f+1=f1f(x + 1) = f(x) – 1,通过归纳fw = 0f=0f(w) = 0,这样人们就可以把自己插入w队列中的第 个位置,并且前面的男性人数等于后面的女性人数。

\endgroup

\begingroup

另一种证明:

在这个队列中,争论的是新来者前面的人数(ffm_f)永远不会等于其背后的女性人数(bbw_b)等同于说f+ff+bf+ff+bm_f+w_f ≠ w_f+w_b总是这样,但很显然,新人前面的人数可以等于女性总数。

\endgroup

\begingroup

呼叫你前面的男子的号码M以及你身后的女性人数西西W

从队伍的后面开始。当你一次一个人向前移动时,M将计算来自的每个整数全部o一个M_{total}000, 和西西W将计算来自的每个整数000西全部西o一个W_{total},只有一个M或者西西W每一步都在改变。在某个时刻,M必须倒计时到当前值西西W, 或者西西W必须计数到当前值M,因为计数序列必须“通过”彼此,并且不能跳过任何整数。基本上,只要> W>西M>W,我们可以通过这条线前进,要么减少M经过111或增加西西W经过111,我们可以一直重复这个直到M西西W是相等的。

\endgroup