有n組已經一一配對的人,現在隨機分組,重新一對一分配,求最終每個新分組都與之間不同(每個人配對的新人都與之前不同,不能存在其中某些人的分組沒有變化的情況)的可能情況總數。(分組內外部均沒有先後次序區別)
第一個人可以有n-1個選擇,假設他選擇了B,那麼原本與B配對的人下一個選擇,他有n-1個選擇,然後假設他選擇了C,原本與C配對的人下一個選擇,他有n-2過選擇……,最終結果是:(n-1) * (n-1)!
當然,結果是我是錯的……
編程問題,所以程序解決思路也可以,不過我主要想知道數學原理。
將問題理解成1,2,3...n的錯位排列:1,2,3...n重排,k不在第k個位置上。記Si為有i個數在原來位置上的排列,個數為n!/(i!(n_i)!)=n!/i!。#表示乘號。即i個數在原位上,剩下的數全排,剩下的數在不在原位上無所謂,因為容斥原理,錯排個數為n!_n!/1!+n!/2!_...+n!/n! (_1)#. #表示乘方