第一次接触到错排的题目,错排简单点说就是给n个节点它们原来的位置为i,
然后让你把它们从新排列使得它们都不在它们原来的位置上。
错排递归公式:f(i) = (i - 1) * (f(i - 1) + f(i - 2)); i >= 4 (f(0) = 0, f(1) = 0, f(2) = 1, f(3) = 2);
而本题的解法是:组合 + 错排
由于要猜对一半以上,就是那从n个人中取出小于等于n / 2的人进行错排
因为最后要求的答案是能够通过的所有解,所以只要累加0 -> n / 2的所有错排数
AC代码如下: