Time Limit: 2000/1000 MS (java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 36288 Accepted Submission(s): 13294PRoblem Description国庆期间,省城HZ刚刚举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎",具体的操作是这样的:
22 23 2 Sample Output13 Authorlcy Source递推求解专题练习(For Beginner)这个题需要用到排列组合与错排的知识。这里我先不写出详细解释,只把有关公式写出来。根据乘法原理, n 个不同元素的错排种数f(n) = (n-1)[f(n-2)+f(n-1)] (n>2) 排列组合:c(m,n)=a(m,n)/a(n,n)=m!/(n!*(m-n)!)#include<stdio.h>int main(){ __int64 f[25],a[25]; int i,j; f[1]=1,f[0]=1; for(i=2;i<=20;i++) f[i]=f[i-1]*i; a[3]=2;a[2]=1;a[1]=1;a[0]=0; for(i=4;i<=20;i++) a[i]=(i-1)*(a[i-1]+a[i-2]); int c; scanf("%d",&c); while(c--) { int n,m; scanf("%d%d",&n,&m); printf("%I64d/n",f[n]/f[m]/f[n-m]*a[m]); } return 0;}
新闻热点
疑难解答