杭电OJ2049
先把找正确新娘的去除,在用2048题的方法计算错的种类数
#include<stdio.h>
long long pernum[21];
int c;
int main(){
pernum[1] = 0;
pernum[2] = 1;
pernum[3] = 2;
for(int i = 4;i<=20;i++){
pernum[i] = (i-1)*(pernum[i-1]+pernum[i-2]);
}
scanf("%d",&c);
while(c--){
int n,m;
long long sum1=1,sum2 =1;
scanf("%d %d",&n,&m);
for(int i =n;i>=n-m+1;i--){
sum1*=i;
}
for(int i = 1;i<=m;i++){
sum2*=i;
}
printf("%lld\n",pernum[m]*(sum1/sum2));
}
return 0;
}