题目:
看书发现了这道题,刚开始没理解题意,以为是中奖的概率,---> 1/n
后来知道了是典型的错排问题。(后来发现是真的裸)
递推:
Di 为 i个人 的错排数 D1 = 0, D2 = 1;
第N个人拿了自己的名字,假如前面的N-1个人是错排的,那么第N个人随便找一个人交换就整体满足错排。 N-1(Dn-1)
假如前面的N-1个人里面有一个拿的是自己的票(N-1种可能)剩余的满足错排,那个人和N交换后整体满足错排。 N-1(Dn-2)
所以 Dn = (n-1)*(Dn-1+Dn-2)
容斥原理也可以推到,但是还没有学习,所以先不写出来了。
AC代码:
#include #include #include #include #include #include #include #include #include #include