[组合数学]监考模型(n个老师监考n个班级)的递推解法 f(n)=(n-1)*( f(n-2)+f(n-1) )

有n个老师各执教一个班级,现在每人监考一个班,要求不能监考自己执教的班级,问有多少种监考方式?

解:n个老师编号为1,2,3,……,n。

所求方法数记为f(n)。

考虑1号班级。

step1:从2,3,4,……,n个老师中任取一个老师监考1号班级。有n-1种方法。

step2:不妨记监考1号班级的老师为2号老师。则:

    1)1号老师就监考2号班级,这样问题变成了3,4,……,n个老师监考3,4,……,n个班级。有f(n-2)种方法。

    2)1号老师不能监考2号班级,相当于把1号老师看作2号老师,他不能监考2号班级。这样问题变成了1(看作是2号),3,4,……,n个老师监考2,3,4,……,n个班级。有f(n-1)种方法。

从而f(n)=(n-1)*( f(n-2)+f(n-1) )

边界:f(2)=1,f(3)=2,f(4)=9,f(5)=44

 

你可能感兴趣的:([组合数学]监考模型(n个老师监考n个班级)的递推解法 f(n)=(n-1)*( f(n-2)+f(n-1) ))