关于两条对角线对称的n个无攻击车摆放方式数Tₙ计算问题
计算n×n棋盘上双对角线对称无攻击车的布局数Tₙ
我们可以通过分析对称约束下车的位置规律,分奇偶情况推导Tₙ:
一、当n为偶数时(设n=2k)
此时棋盘没有中心格子,整个棋盘可以被划分为k个独立的2×2方块:每个方块对应行i与行2k+1-i、列i与列2k+1-i(i从1到k)。
在每个2×2方块中,要满足双对角线对称且无攻击(每行每列仅一个车),只有两种合法放法:
- 放置在主对角线位置:(i,i)和(2k+1-i,2k+1-i)
- 放置在副对角线位置:(i,2k+1-i)和(2k+1-i,i)
每个方块的选择独立,因此总布局数为每个方块选择数的乘积:
$$T_n = 2^k = 2^{n/2}$$
验证n=2时:2×2棋盘有2种合法布局,符合$21=2$;n=4时,有4种合法布局,符合$22=4$。
二、当n为奇数时(设n=2k+1)
此时棋盘存在中心格子$(k+1,k+1)$,由于要满足每行每列仅一个车且双对称,中心格子必须放置车(否则中心行/列的车会因对称要求产生冲突)。
去掉中心行和中心列后,剩余的2k×2k棋盘就转化为偶数n=2k的情况,同样被划分为k个2×2方块,每个方块有2种选择,因此总布局数为:
$$T_n = 2^k = 2^{(n-1)/2}$$
验证n=1时:仅1种布局,符合$20=1$;n=3时,有2种合法布局(中心车+主对角/副对角的配对车),符合$21=2$。
三、统一表达式
我们可以用向下取整符号把两种情况合并:
$$T_n = 2^{\lfloor n/2 \rfloor}$$
其中$\lfloor n/2 \rfloor$表示n除以2的整数部分。
内容的提问来源于stack exchange,提问作者myriagon
相关产品推荐
相关产品推荐

