hdu2049不容易系列之(4)——考新郎
2016-10-30 20:38
239 查看
不容易系列之(4)——考新郎
[b]Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 33225 Accepted Submission(s): 12169
[/b]
[align=left]Problem Description[/align]
国庆期间,省城HZ刚刚举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎",具体的操作是这样的:
首先,给每位新娘打扮得几乎一模一样,并盖上大大的红盖头随机坐成一排;
然后,让各位新郎寻找自己的新娘.每人只准找一个,并且不允许多人找一个.
最后,揭开盖头,如果找错了对象就要当众跪搓衣板...
看来做新郎也不是容易的事情...
假设一共有N对新婚夫妇,其中有M个新郎找错了新娘,求发生这种情况一共有多少种可能.
[align=left]Input[/align]
输入数据的第一行是一个整数C,表示测试实例的个数,然后是C行数据,每行包含两个整数N和M(1<M<=N<=20)。
[align=left]Output[/align]
对于每个测试实例,请输出一共有多少种发生这种情况的可能,每个实例的输出占一行。
[align=left]Sample Input[/align]
2
2 2
3 2
[align=left]Sample Output[/align]
1 3
错排公式简单扩展了一下,先是只考虑m个人全是挑错的,所以,就是错排公式f(m)=(f(m-1)+f(m-2))*(m-1),然后考虑n个人中挑m个,则C(n,m),所以最终结果乘一下即可。
#include<cstdio> #include<cstdlib> #include<iostream> #include<stack> #include<queue> #include<algorithm> #include<string> #include<cstring> #include<cmath> #include<vector> #include<map> #include<set> #define eps 1e-8 #define zero(x) (((x>0?(x):-(x))-eps) #define mem(a,b) memset(a,b,sizeof(a)) #define memmax(a) memset(a,0x3f,sizeof(a)) #define pfn printf("\n") #define ll __int64 #define ull unsigned long long #define sf(a) scanf("%d",&a) #define sf64(a) scanf("%I64d",&a) #define sf264(a,b) scanf("%I64d%I64d",&a,&b) #define sf364(a,b,c) scanf("%I64d%I64d%I64d",&a,&b,&c) #define sf2(a,b) scanf("%d%d",&a,&b) #define sf3(a,b,c) scanf("%d%d%d",&a,&b,&c) #define sf4(a,b,c,d) scanf("%d%d%d%d",&a,&b,&c,&d) #define sff(a) scanf("%f",&a) #define sfs(a) scanf("%s",a) #define sfs2(a,b) scanf("%s%s",a,b) #define sfs3(a,b,c) scanf("%s%s%s",a,b,c) #define sfd(a) scanf("%lf",&a) #define sfd2(a,b) scanf("%lf%lf",&a,&b) #define sfd3(a,b,c) scanf("%lf%lf%lf",&a,&b,&c) #define sfd4(a,b,c,d) scanf("%lf%lf%lf%lf",&a,&b,&c,&d) #define sfc(a) scanf("%c",&a) #define ull unsigned long long #define debug printf("***\n") const double PI = acos(-1.0); const double e = exp(1.0); const int INF = 0x7fffffff;; template<class T> T gcd(T a, T b) { return b ? gcd(b, a % b) : a; } template<class T> T lcm(T a, T b) { return a / gcd(a, b) * b; } template<class T> inline T Min(T a, T b) { return a < b ? a : b; } template<class T> inline T Max(T a, T b) { return a > b ? a : b; } bool cmpbig(int a, int b){ return a>b; } bool cmpsmall(int a, int b){ return a<b; } using namespace std; int main() { //freopen("data.in","r",stdin); int t; sf(t); while(t--) { int n; sf(n); printf("%d\n",2*n*n-n+1); } return 0; }
相关文章推荐
- HDU2049 不容易系列之(4)——考新郎【递推】
- HDU2049 不容易系列之(4)——考新郎 错排问题
- HDU2049:不容易系列之(4)——考新郎
- HDU2049----不容易系列之(4)——考新郎
- 【错排公式】 hdu2049 不容易系列之(4)——考新郎(错排+排列组合)
- hdu2049 不容易系列之(4)——考新郎
- HDU2049:不容易系列之(4)——考新郎
- 不容易系列之(4)——考新郎(hdu2049)(错排)
- hdu2049 不容易系列之(4)——考新郎(全错排,组合数)
- hdu2049不容易系列之(4)——考新郎
- hdu2049 不容易系列之(4)——考新郎
- HDU2049 不容易系列之(4)——考新郎
- 不容易系列之(4)——考新郎[HDU2049]
- HDU2049 不容易系列之(4)——考新郎
- HDU2049 不容易系列之(4)——考新郎
- HDU2049 不容易系列之(4)——考新郎
- HDU2049_不容易系列之(4)——考新郎
- hdu2049 不容易系列之(4)——考新郎 错排+组合 一共有N对新婚夫妇,N个新娘随机坐成一排,每个新郎只能选一个, 其中有M个新郎找错了新娘,求发生这种情况一共有多少种可能.
- HDU2049 不容易系列之(4)——考新郎
- 不容易系列之(4)——考新郎 hdu2049 递推,错排,组合数