ll C[1005][1005];
void calc_Cmn()//求组合数 { for(int i=0;i<1001;i++) { C[i][0]=C[i][i]=1; for(int j=1;j<i;j++) C[i][j]=C[i-1][j-1]+C[i-1][j]; } }
ll Cuo[1005]; void Cuo()//求错排 { Cuo[1] = 0, Cuo[2] = 1; for (int i = 3; i <= 15; i++) { Cuo[i] = 1LL * (i - 1) * (Cuo[i - 1] + Cuo[i - 2]); } }