请问10个小球放入个10盒子有几种放法(n号球不放入n号盒)

来源:百度知道 编辑:UC知道 时间:2024/07/04 10:28:57
10个小球放入个10盒子有几种放法(n号球不放入n号盒)?
是有点复杂啊!

如果盒子可以空着,那相当简单总共有9^10(9的10次方)种,因为每个球之间没有影响,都有9种盒子可供选择放置.
如果每个盒子都必须有球,换句话说就是每个盒子都有一个球就不一样了.首先把问题简化,不如把问题转化为有10个点,点与点之间进行连线构成环路.这样做的好处在于
(1)没有连线的点说明了第n号球放入了第n号盒子(因为假设点代表盒子,而对应号码的球已经在盒子里,这样,球必须与其他盒子里的球交换,线则代表交换,如果没有连线就表明了球还在原盒子里)
(2)交换球的方式比较直观,容易看清楚.除了2个点连线,其他n个点之间构成环路的连线表明了每个球沿线方向移动1个(例如1到2,2到3,3到1构成3个点的环路)但移动方向有2个,这个问题后面可以解决.
简化问题之后开始解决,仔细研究可以发现,10个点之间连线可分两种情况,一种是10个点所构成1个环路,另一种是10个点分成几个群体分别构成环路,例如分成2个有5个点的环路.所以必须研究n个点构成环路所能连线方式的个数.2个点只有1种,3个点有2种,4个点有6种...我的方法是n个点先设一个点为起始点,然后共(n-1)个点可作为2号点,接着就变成了(n-1)个点构成环路的连接方式.例如5个点先设某点为起始点,共有4个点可作为2号点,然后就变成了4个点构成环路的情况,所以5个点有4*6=24种方式,虽然每种环路有2个方向,但是2号点的选择确定了环绕方向,避免了重复.所以n个点有(n-1)![(n-1)!=(n-1)*....*3*2*1]然后就能解决问题了.
当10个点构成1个环路有:9!种方式
分成8和2时有:8C10*7!*2C2*1!种(8C10表示从10个中任选8个,因为没装word所以下标和上标打不出)
分成7和3时有:7C10*6!*3C3*2!
分成6和4时有:6C10*5!*4C4*3!
分成6和2,2时有:6C10*5!*4C2*1!*1!/2(有相同点个数的组时会有重复,所以除以2)
分成5和5时有:5C10*4!*5C5*4!/2
分成5和3,2时有:5C10*4!*3C5*2!*2C2*1!
分成4和4,2时有:4C10*3!*4C6*3!*2C2*1!/2
分成4和3,3