这道题是最近挺多同学在做的,而且都做了笔记,于是我觉得这道题应该对自己的能力有所提高,题目如上:
先说说我的思路吧,也许是之前的做的题的原因,这次我看到题目直接就想到递推,于是我就开始先从有多少对夫妻,就乱多少对(来自单身狗的想法),毕竟乱一部分可以用组合来弄,例如:5对夫妻,2对乱的;可以先在5中选3,再将2对乱的夫妻排列方法只有1种,就是10种,这就是我的基本思路。
再说说怎么算出乱的吧,例如:5对父妻,5对乱的;首先可以先4对夫妻,4对乱的开始,加了1对夫妻,分别替换了前面的
就这样依次替换前面的,所以可以用4*(前面的4个夫妻全乱的排列方法的次数),5可以其它的1,2,3,4两两连接,剩下的全乱,就可以得到 4*(2个夫妻全乱的排列方法的次数)*(3个夫妻全乱的排列方法的次数)
将两者相加,得到的就是答案。(为什么不算5可以其它的1,2,3,4三三连接或四四连接,主要的原因是这个前面其实算进去了)
代码如下:
http://acm.hdu.edu.cn/showproblem.php?pid=2049