2049

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2049


2049_第1张图片

思路:和2048一样是错排公式,只不过这次加上了排列组合。但事实上只需要把错排公式得出的结果和排列组合得出的结果相乘,就是该题目的答案。

做法:自定义两个函数,一个计算错排公式,一个计算排列组合。错排公式D(n)=(n-1)*[D(n-1)+D(n-2)],前面笔记中具体写过错排公式,这里不多做赘述。值得一提的是,用递归的方法求解错排公式,能使代码简洁不少。而计算排列组合,只需要运用数学思维求解分子和分母,最后相处就能得出结果了。

2049_第2张图片

结论:该题是错排公式和排列组合的结合,但推出排列组合的公式还是花了不少时间。有时候数学方法很容易解决的问题,到代码里反倒难以实现。这种时候就应该回归数学,深入思考公式的含义。

你可能感兴趣的:(2049)