zoukankan      html  css  js  c++  java
  • 【HDU 2049】不容易系列之(4)——考新郎

    国庆期间,省城HZ刚刚举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎",具体的操作是这样的: 
     

    首先,给每位新娘打扮得几乎一模一样,并盖上大大的红盖头随机坐成一排; 
    然后,让各位新郎寻找自己的新娘.每人只准找一个,并且不允许多人找一个. 
    最后,揭开盖头,如果找错了对象就要当众跪搓衣板... 

    看来做新郎也不是容易的事情... 

    假设一共有N对新婚夫妇,其中有M个新郎找错了新娘,求发生这种情况一共有多少种可能. 

    Input输入数据的第一行是一个整数C,表示测试实例的个数,然后是C行数据,每行包含两个整数N和M(1<M<=N<=20)。 
    Output对于每个测试实例,请输出一共有多少种发生这种情况的可能,每个实例的输出占一行。 
    Sample Input

    2
    2 2
    3 2

    Sample Output

    1
    3

    题解:错排+组合,题面funny哦(手动滑稽)

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<cstdlib>
    #include<algorithm>
    #include<cmath>
    typedef long long ll;
    using namespace std;
    int n,m,t;
    ll fun(int n){//错排 
        if(n==1)return 0;
        if(n==2)return 1;
        return (ll)(n-1)*(fun(n-1)+fun(n-2));
    }
    ll sun(int x,int y){//组合 
        if(y==0 || y==x) return (ll)1;
        return sun(x-1,y)+sun(x-1,y-1); 
    }
    int main(){
        //freopen("e.in","r",stdin);
        //freopen("e.out","w",stdout);
        scanf("%d",&t);
        while(t--){
            scanf("%d %d",&n,&m);
            ll a1=fun(m);
            ll a2=sun(n,n-m);
            cout<<a1*a2<<endl;
        }
        return 0;
    }
  • 相关阅读:
    Cocos2d-x 学习笔记(11.1) MoveBy MoveTo
    Cocos2d-x 学习笔记(10) ActionInstant
    Cocos2d-x 学习笔记(9) Action 运行原理
    Cocos2d-x 学习笔记(8) ActionManager
    Cocos2d-x 学习笔记(7) 内存管理 Sprite SpriteFrame Texture2D
    Cocos2d-x 学习笔记(6) Sprite SpriteFrameCache Texture2D TextureCache
    常见串口术语区分
    串口调试
    Linux
    缓冲区
  • 原文地址:https://www.cnblogs.com/wuhu-JJJ/p/11329142.html
Copyright © 2011-2022 走看看