答案是
x = 8 . \boxed{x=8}. x = 8 .
下面给出一个完整的上界策略,以及严格的 7 7 7 次不可能证明。
先把四种颜色记为 1 , 2 , 3 , 4 1,2,3,4 1 , 2 , 3 , 4 ,并把初始上层顺序记成
1234. 1234. 1234.
下层未知排列记为 p p p 。记 s i s_i s i 为交换上层第 i , i + 1 i,i+1 i , i + 1 个杯子,例如
1234 → s 2 1324. 1234\xrightarrow{s_2}1324. 1234 s 2 1324.
每次交换后都可以立即询问匹配数;询问本身不计交换次数,所以可以假定每次交换后都问。
一、一个关键事实
对两个排列 q , p q,p q , p ,记
d ( q , p ) d(q,p) d ( q , p )
为把 q q q 用相邻交换变成 p p p 所需的最少次数,也就是它们之间的 Kendall 距离。
对固定目标 p p p ,从当前排列做一次相邻交换时,距离一定恰好变化 1 1 1 :
若距离减 1 1 1 ,称为一次好交换 ;
若距离增 1 1 1 ,称为一次坏交换 。
如果初始距离是 d d d ,整个过程中做了 b b b 次坏交换,那么最终到达目标所需的总交换数必定是
d + 2 b . \boxed{d+2b}. d + 2 b .
证明很简单。设好交换共有 g g g 次,则距离从 d d d 降到 0 0 0 ,所以
g − b = d . g-b=d. g − b = d .
总交换数是
g + b = d + 2 b . g+b=d+2b. g + b = d + 2 b .
这个公式是下界证明的核心。
特别地,如果要求 7 次以内 :
初始距离为 4 4 4 的排列最多只能容许 1 次坏交换 ;
初始距离为 2 2 2 的排列最多只能容许 2 次坏交换 。
二、证明 8 次一定足够
下面直接给出一个确定策略。
一旦某一步已经唯一确定了下层排列,就停止试探,直接用最短相邻交换把上层排成它;所需次数就是当前的 d ( q , p ) d(q,p) d ( q , p ) 。
初始先询问一次,设回答为 r 0 r_0 r 0 。
4 个位置的匹配数不可能恰好为 3,所以只有 0 , 1 , 2 , 4 0,1,2,4 0 , 1 , 2 , 4 四种情况。
情形 A:r 0 = 4 r_0=4 r 0 = 4
已经全部匹配。
交换数为 0 0 0 。
情形 B:r 0 = 2 r_0=2 r 0 = 2
此时下层只能是交换了两个元素的排列:
2134 , 1324 , 1243 , 3214 , 1432 , 4231. 2134,\ 1324,\ 1243,\ 3214,\ 1432,\ 4231. 2134 , 1324 , 1243 , 3214 , 1432 , 4231.
先做
1234 → s 2 1324. 1234\xrightarrow{s_2}1324. 1234 s 2 1324.
询问得 r 1 r_1 r 1 。
若 r 1 = 4 r_1=4 r 1 = 4
则
p = 1324 , p=1324, p = 1324 ,
1 次结束。
若 r 1 = 0 r_1=0 r 1 = 0
则唯一可能是
p = 4231. p=4231. p = 4231.
此时
d ( 1324 , 4231 ) = 6 , d(1324,4231)=6, d ( 1324 , 4231 ) = 6 ,
所以总共
1 + 6 = 7. 1+6=7. 1 + 6 = 7.
若 r 1 = 1 r_1=1 r 1 = 1
剩下
{ 2134 , 1243 , 3214 , 1432 } . \{2134,1243,3214,1432\}. { 2134 , 1243 , 3214 , 1432 } .
做
1324 → s 1 3124. 1324\xrightarrow{s_1}3124. 1324 s 1 3124.
若回答为 2 2 2 ,候选为
{ 2134 , 3214 } . \{2134,3214\}. { 2134 , 3214 } .
再做
3124 → s 2 3214. 3124\xrightarrow{s_2}3214. 3124 s 2 3214.
此时:
对 2134 2134 2134 ,回答为 1 1 1 ;
对 3214 3214 3214 ,回答为 4 4 4 。
于是唯一确定。前者当前剩余距离为 2 2 2 ,后者已经完成,因此最多分别为
3 + 2 = 5 , 3. 3+2=5,\qquad 3. 3 + 2 = 5 , 3.
若在 3124 3124 3124 时回答为 0 0 0 ,候选为
{ 1243 , 1432 } . \{1243,1432\}. { 1243 , 1432 } .
仍做
3124 → s 2 3214. 3124\xrightarrow{s_2}3214. 3124 s 2 3214.
此时:
对 1243 1243 1243 ,回答为 1 1 1 ;
对 1432 1432 1432 ,回答为 0 0 0 。
两者均被区分,而且从 3214 3214 3214 到这两个目标的距离都为 4 4 4 。
所以总交换数至多
3 + 4 = 7. 3+4=7. 3 + 4 = 7.
因此 r 0 = 2 r_0=2 r 0 = 2 分支最多 7 次。
三、r 0 = 0 r_0=0 r 0 = 0 的策略
初始无位置匹配时,共有 9 种排列。
先做
1234 → s 2 1324. 1234\xrightarrow{s_2}1324. 1234 s 2 1324.
询问 r 1 r_1 r 1 。
1. r 1 = 2 r_1=2 r 1 = 2
唯一是
p = 4321. p=4321. p = 4321.
而
d ( 1324 , 4321 ) = 5 , d(1324,4321)=5, d ( 1324 , 4321 ) = 5 ,
故总次数
1 + 5 = 6. 1+5=6. 1 + 5 = 6.
2. r 1 = 0 r_1=0 r 1 = 0
候选恰为
{ 2143 , 2413 , 3142 , 3412 } . \{2143,2413,3142,3412\}. { 2143 , 2413 , 3142 , 3412 } .
做
1324 → s 1 3124. 1324\xrightarrow{s_1}3124. 1324 s 1 3124.
此时:
p 2143 2413 3142 3412 匹配数 1 0 2 1 \begin{array}{c|cccc}
p&2143&2413&3142&3412\\ \hline
\text{匹配数}&1&0&2&1
\end{array} p 匹配数 2143 1 2413 0 3142 2 3412 1
所以:
回答 0 0 0 :p = 2413 p=2413 p = 2413 ,此时剩余距离 5 5 5 ,总共 2 + 5 = 7 2+5=7 2 + 5 = 7 ;
回答 2 2 2 :p = 3142 p=3142 p = 3142 ,剩余距离 1 1 1 ,总共 3;
回答 1 1 1 :剩下 { 2143 , 3412 } \{2143,3412\} { 2143 , 3412 } 。
最后一种情况下做
3124 → s 2 3214. 3124\xrightarrow{s_2}3214. 3124 s 2 3214.
此时:
2143 ⟼ 0 , 3412 ⟼ 2. 2143\longmapsto0,\qquad
3412\longmapsto2. 2143 ⟼ 0 , 3412 ⟼ 2.
两者都被确定,而且从 3214 3214 3214 到各自目标的距离均为 3 3 3 。
总共至多
3 + 3 = 6. 3+3=6. 3 + 3 = 6.
3. r 1 = 1 r_1=1 r 1 = 1
候选恰为
{ 2341 , 3421 , 4123 , 4312 } . \{2341,3421,4123,4312\}. { 2341 , 3421 , 4123 , 4312 } .
做
1324 → s 1 3124. 1324\xrightarrow{s_1}3124. 1324 s 1 3124.
得到:
p 2341 3421 4123 4312 匹配数 0 2 2 0 \begin{array}{c|cccc}
p&2341&3421&4123&4312\\ \hline
\text{匹配数}&0&2&2&0
\end{array} p 匹配数 2341 0 3421 2 4123 2 4312 0
回答 0 0 0
剩
{ 2341 , 4312 } . \{2341,4312\}. { 2341 , 4312 } .
做
3124 → s 2 3214. 3124\xrightarrow{s_2}3214. 3124 s 2 3214.
回答分别为
0 , 1. 0,\quad1. 0 , 1.
于是确定。
从 3214 3214 3214 到两目标的距离分别为 2 , 4 2,4 2 , 4 ,故总数至多
3 + 4 = 7. 3+4=7. 3 + 4 = 7.
回答 2 2 2
剩
{ 3421 , 4123 } . \{3421,4123\}. { 3421 , 4123 } .
先做
3124 → s 3 3142. 3124\xrightarrow{s_3}3142. 3124 s 3 3142.
此时两者的回答都为 1 1 1 ,尚不能区别。
再做
3142 → s 2 3412. 3142\xrightarrow{s_2}3412. 3142 s 2 3412.
这时
3421 ⟼ 2 , 4123 ⟼ 0. 3421\longmapsto2,\qquad
4123\longmapsto0. 3421 ⟼ 2 , 4123 ⟼ 0.
于是确定。
从 3412 3412 3412 到两目标的距离分别为 1 , 3 1,3 1 , 3 ,因此至多
4 + 3 = 7. 4+3=7. 4 + 3 = 7.
所以 r 0 = 0 r_0=0 r 0 = 0 整个分支最多 7 次。
四、r 0 = 1 r_0=1 r 0 = 1 的策略——这里会真正用到第 8 次
初始恰有一个位置正确时,可能的 8 个排列为
1342 , 1423 , 3241 , 4213 , 2431 , 4132 , 2314 , 3124. 1342,\ 1423,\ 3241,\ 4213,\ 2431,\ 4132,\ 2314,\ 3124. 1342 , 1423 , 3241 , 4213 , 2431 , 4132 , 2314 , 3124.
先做
1234 → s 1 2134. 1234\xrightarrow{s_1}2134. 1234 s 1 2134.
询问 r 1 r_1 r 1 。
若 r 1 = 0 r_1=0 r 1 = 0
候选为
{ 1342 , 1423 , 3241 , 4213 } . \{1342,1423,3241,4213\}. { 1342 , 1423 , 3241 , 4213 } .
再做
2134 → s 2 2314. 2134\xrightarrow{s_2}2314. 2134 s 2 2314.
此时
p 1342 1423 3241 4213 匹配数 1 0 0 1 \begin{array}{c|cccc}
p&1342&1423&3241&4213\\ \hline
\text{匹配数}&1&0&0&1
\end{array} p 匹配数 1342 1 1423 0 3241 0 4213 1
回答 1 1 1
候选
{ 1342 , 4213 } . \{1342,4213\}. { 1342 , 4213 } .
做
2314 → s 1 3214. 2314\xrightarrow{s_1}3214. 2314 s 1 3214.
回答分别为
0 , 2. 0,\quad2. 0 , 2.
因此确定。
此时到两个目标的剩余距离分别为
3 , 5. 3,\quad5. 3 , 5.
所以最坏为
3 + 5 = 8 . 3+5=\boxed8. 3 + 5 = 8 .
回答 0 0 0
候选
{ 1423 , 3241 } . \{1423,3241\}. { 1423 , 3241 } .
做
2314 → s 3 2341. 2314\xrightarrow{s_3}2341. 2314 s 3 2341.
回答分别为
0 , 2. 0,\quad2. 0 , 2.
因此确定。
剩余距离分别为
5 , 1 , 5,\quad1, 5 , 1 ,
故最坏仍为
3 + 5 = 8 . 3+5=\boxed8. 3 + 5 = 8 .
若 r 1 = 2 r_1=2 r 1 = 2
候选为
{ 2431 , 4132 , 2314 , 3124 } . \{2431,4132,2314,3124\}. { 2431 , 4132 , 2314 , 3124 } .
同样做
2134 → s 2 2314. 2134\xrightarrow{s_2}2314. 2134 s 2 2314.
得到
p 2431 4132 2314 3124 匹配数 1 0 4 1 \begin{array}{c|cccc}
p&2431&4132&2314&3124\\ \hline
\text{匹配数}&1&0&4&1
\end{array} p 匹配数 2431 1 4132 0 2314 4 3124 1
所以:
回答 4 4 4 :已经是 2314 2314 2314 ,2 次结束;
回答 0 0 0 :唯一为 4132 4132 4132 。从 2314 2314 2314 到 4132 4132 4132 的距离是 6 6 6 ,故总计
2 + 6 = 8 ; 2+6=\boxed8; 2 + 6 = 8 ;
回答 1 1 1 :候选为
{ 2431 , 3124 } . \{2431,3124\}. { 2431 , 3124 } .
最后做
2314 → s 1 3214. 2314\xrightarrow{s_1}3214. 2314 s 1 3214.
回答分别为
0 , 2. 0,\quad2. 0 , 2.
剩余距离分别为 3 , 1 3,1 3 , 1 ,总共至多 6。
因此,以上所有初始情况都能在
8 \boxed{8} 8
次相邻交换之内完成。
所以已经证明
x ≤ 8. x\le 8. x ≤ 8.
五、证明 7 次绝不可能
现在证明真正困难的方向:
x > 7. x>7. x > 7.
我们只考虑初始询问回答
r 0 = 1. r_0=1. r 0 = 1.
如果连这一种情况都无法保证 7 次,就足够了。
任何策略得到 r 0 = 1 r_0=1 r 0 = 1 后,第一次真正的交换只能是
s 1 , s 2 , s 3 . s_1,\quad s_2,\quad s_3. s 1 , s 2 , s 3 .
下面逐一排除。
由于左右完全对称,只需分别讨论:
第一次是中间交换 s 2 s_2 s 2 ;
第一次是边缘交换 s 1 s_1 s 1 。
s 3 s_3 s 3 是 s 1 s_1 s 1 的镜像。
六、第一次若做 s 2 s_2 s 2 ,7 次必败
做
1234 → s 2 1324. 1234\xrightarrow{s_2}1324. 1234 s 2 1324.
假设裁判回答 0 0 0 。
那么下层恰好是以下四者之一:
3241 , 4213 , 2431 , 4132. 3241,\quad4213,\quad2431,\quad4132. 3241 , 4213 , 2431 , 4132.
这四个排列与 1234 1234 1234 的距离全都是
4. 4. 4.
而如果总交换次数要求 ≤ 7 \le7 ≤ 7 ,前面证明过:距离 4 4 4 的目标最多容许 一次坏交换 。
来看第一次 s 2 s_2 s 2 对四个目标是好还是坏:
p 3241 4213 2431 4132 s 2 好 坏 坏 好 \begin{array}{c|cccc}
p&3241&4213&2431&4132\\ \hline
s_2&好&坏&坏&好
\end{array} p s 2 3241 好 4213 坏 2431 坏 4132 好
所以对
4213 , 2431 4213,\quad2431 4213 , 2431
而言,唯一的一次坏交换额度已经用完。
因此第二次交换必须同时对这两个目标都是好交换。
当前上层为 1324 1324 1324 。检查三个可能交换:
对于 4213 4213 4213 ,好交换是
{ s 2 , s 3 } ; \{s_2,s_3\}; { s 2 , s 3 } ;
对于 2431 2431 2431 ,好交换是
{ s 1 , s 2 } . \{s_1,s_2\}. { s 1 , s 2 } .
唯一共同的好交换是
s 2 . s_2. s 2 .
所以为了不超过 7 次,第二步被迫撤销第一步:
1324 → s 2 1234. 1324\xrightarrow{s_2}1234. 1324 s 2 1234.
此时四个目标仍然无法区分——裁判又回答初始的 1 1 1 。
更重要的是:
对 4213 , 2431 4213,2431 4213 , 2431 :第一次坏、第二次好;
对 3241 , 4132 3241,4132 3241 , 4132 :第一次好、第二次坏。
所以四个距离为 4 的候选现在都已经各自用掉了唯一的一次坏交换额度。
从现在开始,任何下一步都必须同时对四个目标是好交换。
但在 1234 1234 1234 :
p 好交换 3241 { s 1 , s 2 } 4213 { s 1 , s 3 } 2431 { s 1 , s 3 } 4132 { s 2 , s 3 } \begin{array}{c|c}
p&\text{好交换}\\ \hline
3241&\{s_1,s_2\}\\
4213&\{s_1,s_3\}\\
2431&\{s_1,s_3\}\\
4132&\{s_2,s_3\}
\end{array} p 3241 4213 2431 4132 好交换 { s 1 , s 2 } { s 1 , s 3 } { s 1 , s 3 } { s 2 , s 3 }
四个集合的交集为空。
也就是说,无论下一步交换什么,都必然对至少一个仍可能的目标产生第二次坏交换,于是那个目标至少需要
4 + 2 ⋅ 2 = 8 4+2\cdot2=8 4 + 2 ⋅ 2 = 8
次交换。
矛盾。
所以若第一次选 s 2 s_2 s 2 ,不可能保证 7 次。
七、第一次若做 s 1 s_1 s 1 ,也必败
现在第一次做
1234 → s 1 2134. 1234\xrightarrow{s_1}2134. 1234 s 1 2134.
考虑裁判回答
0. 0. 0.
此时候选恰为
C = { 1342 , 1423 , 3241 , 4213 } . C=\{1342,1423,3241,4213\}. C = { 1342 , 1423 , 3241 , 4213 } .
它们的初始距离分别为
2 , 2 , 4 , 4. 2,2,4,4. 2 , 2 , 4 , 4.
而第一次 s 1 s_1 s 1 :
对 1342 , 1423 1342,1423 1342 , 1423 是坏交换;
对 3241 , 4213 3241,4213 3241 , 4213 是好交换。
接下来第二步只有三种可能。
第二步为 s 2 s_2 s 2
得到
2134 → s 2 2314. 2134\xrightarrow{s_2}2314. 2134 s 2 2314.
若裁判回答 1 1 1 ,候选恰为
{ 1342 , 4213 } . \{1342,4213\}. { 1342 , 4213 } .
现在看坏交换次数:
对 1342 1342 1342
初始距离是 2 2 2 。
第一步 s 1 s_1 s 1 :坏;
第二步 s 2 s_2 s 2 :仍然坏。
已经用了两次坏交换。
而距离 2 的目标若要在 7 次以内完成,最多只能有两次坏交换,因为
2 + 2 ⋅ 2 = 6 , 2 + 2 ⋅ 3 = 8. 2+2\cdot2=6,\qquad
2+2\cdot3=8. 2 + 2 ⋅ 2 = 6 , 2 + 2 ⋅ 3 = 8.
所以之后每一步都必须是好交换。
对 4213 4213 4213
初始距离是 4 4 4 。
它也已经用完唯一的一次坏交换额度。
所以从 2314 2314 2314 出发,下一步必须同时对这两个目标是好交换。
对 1342 1342 1342 ,好交换为
{ s 1 , s 2 } ; \{s_1,s_2\}; { s 1 , s 2 } ;
对 4213 4213 4213 ,好交换为
{ s 2 , s 3 } . \{s_2,s_3\}. { s 2 , s 3 } .
唯一共同选择是
s 2 , s_2, s 2 ,
即退回
2314 → s 2 2134. 2314\xrightarrow{s_2}2134. 2314 s 2 2134.
可是两者在 2134 2134 2134 时仍给相同的回答 0 0 0 。
并且在 2134 2134 2134 :
对 1342 1342 1342 ,唯一好交换是 s 1 s_1 s 1 ;
对 4213 4213 4213 ,唯一好交换是 s 3 s_3 s 3 。
没有共同好交换。
因此 7 次不可能。
第二步为 s 3 s_3 s 3
得到
2134 → s 3 2143. 2134\xrightarrow{s_3}2143. 2134 s 3 2143.
此时集合 C C C 中四个候选的回答竟然全部都是
1. 1. 1.
所以一点也没有区分开。
只看其中两个:
1342 , 3241. 1342,\quad3241. 1342 , 3241.
对 1342 1342 1342 :
第一步 s 1 s_1 s 1 坏;
第二步 s 3 s_3 s 3 坏。
它已经用掉距离 2 目标允许的两次坏交换。
对 3241 3241 3241 :
它已经用掉距离 4 目标允许的唯一坏交换。
于是以后必须同时对二者做好交换。
在 2143 2143 2143 :
1342 : { s 1 , s 3 } , 1342:\{s_1,s_3\}, 1342 : { s 1 , s 3 } ,
3241 : { s 2 , s 3 } . 3241:\{s_2,s_3\}. 3241 : { s 2 , s 3 } .
唯一共同好交换是
s 3 , s_3, s 3 ,
于是又被迫回到
2134. 2134. 2134.
两者仍然无法区分,而在 2134 2134 2134 :
1342 只有 s 1 是好交换 , 1342\text{ 只有 }s_1\text{ 是好交换}, 1342 只有 s 1 是好交换 ,
3241 只有 s 2 是好交换 . 3241\text{ 只有 }s_2\text{ 是好交换}. 3241 只有 s 2 是好交换 .
不存在共同选择。
所以也不可能保证 7 次。
第二步为 s 1 s_1 s 1
这只是把第一步撤销:
2134 → s 1 1234. 2134\xrightarrow{s_1}1234. 2134 s 1 1234.
候选集合仍是 C C C 。
此时对两个距离为 4 的候选
3241 , 4213 3241,\quad4213 3241 , 4213
而言:
两者都已经用完唯一的一次坏交换额度。
因此下一步必须同时是它们的好交换。
在 1234 1234 1234 :
3241 : { s 1 , s 2 } , 3241:\{s_1,s_2\}, 3241 : { s 1 , s 2 } ,
4213 : { s 1 , s 3 } . 4213:\{s_1,s_3\}. 4213 : { s 1 , s 3 } .
唯一共同选择是
s 1 . s_1. s 1 .
于是第三步又被迫回到
2134. 2134. 2134.
两目标仍都给回答 0 0 0 。
但在 2134 2134 2134 :
3241 唯一好交换是 s 2 , 3241\text{ 唯一好交换是 }s_2, 3241 唯一好交换是 s 2 ,
4213 唯一好交换是 s 3 . 4213\text{ 唯一好交换是 }s_3. 4213 唯一好交换是 s 3 .
又没有共同好交换。
矛盾。
因此第一次做 s 1 s_1 s 1 的所有可能第二步都无法保证 7 次。
第一次做 s 3 s_3 s 3 与此完全左右对称,同样不可能。
所以无论第一次交换是什么,均不存在 7 次必胜策略。
于是
x ≥ 8. x\ge8. x ≥ 8.
结合前面构造出的 8 次策略,
x ≤ 8. x\le8. x ≤ 8.
最终得到
x = 8 . \boxed{\boxed{x=8}}. x = 8 .
也就是说,最优策略的最坏情况恰好需要 8 次相邻交换 。