#include <stdio.h>
#include <stdlib.h>
int main()
{
int c,n,m,i;
long long s[21],a,b;
s[1]=0;
s[2]=1;
for(i=3;i<21;i++){
s[i]=(i-1)*(s[i-1]+s[i-2]);
}
scanf("%d",&c);
while(c--){
scanf("%d%d",&n,&m);
a=1;
b=n;
for(i=2;i<=m;i++){
a*=i;
}
for(i=1;i<=m-1;i++){
b*=(n-i);
}
printf("%lld\n",b/a*s[m]);
}
return 0;
}这个题也是错排在n对新人中选m对,将这m对错排
本文介绍了一个使用C语言实现的错排问题解决方案。该程序通过递推公式预计算出特定范围内的错排数,并利用这些数值来高效地解决从n对新人中选择m对进行错排的问题。
458

被折叠的 条评论
为什么被折叠?



