美文网首页
9_3站队问题

9_3站队问题

作者: X_Y | 来源:发表于2017-09-29 15:34 被阅读7次

n个人站队,他们的编号依次从1到n,要求编号为a的人必须在编号为b的人的左边,但不要求一定相邻,请问共有多少种排法?第二问如果要求a必须在b的左边,并且一定要相邻,请问一共有多少种排法?

给定人数n及两个人的编号a和b,请返回一个两个元素的数组,其中两个元素依次为两个问题的答案。保证人数小于等于10。

测试样例:
输入:7,1,2
返回:[2520,720]

// 还有另外一种解法,先全排列,a不是在b左边就是在b右边,且这两个的数量相同,所以第一问为:n! / 2,第二问则是把ab捆绑,当做一个人,然后全排列
class StandInLine {
public:
    int factorial(int n)
    {
        if(n == 0) return 1;
        return n*factorial(n-1);
    }

    int permutation(int i, int j)
    {
        return factorial(i) / factorial(i - j);
    }

    int combination(int i, int j)
    {
        return permutation(i, j) / factorial(j);
    }
    vector<int> getWays(int n, int a, int b) {
        // write code here
        vector<int> res(2, 0);
        res[0] = factorial(n-2) * combination(n, 2);
        res[1] = factorial(n-1);
        return res;
    }
};

相关文章

  • 9_3站队问题

    n个人站队,他们的编号依次从1到n,要求编号为a的人必须在编号为b的人的左边,但不要求一定相邻,请问共有多少种排法...

  • 9_3

    凌晨4点多,恍恍惚惚我听见门打开的声音,你轻轻的进屋叫我,说要和我说个事。 孩子醒了,你去哄孩子睡觉,孩子没睡,你...

  • 不想站队,无需站队

    今天领导们去了郊区“开会”,我们中午也进行了一个小小的“团建”,说是同步消息,最主要的还是一起吃个饭,统一下战线,...

  • 饭桌话题

    上次我提到了,新朋友聊天经常会互相站队获得认同感。不愿意勉强自己在大是大非问题上和陌生的人站队的时候应该怎么引导饭...

  • 站队

    云里,雾里,水中看花,雾里望月,猜,猜,猜,小白说,“一社交,就发现很多问题和那个人的秘密,猜测当下,预估未来。”...

  • 站队

    当一个人进入了群体之后,他之前的所有智慧和思考能力都消失了! 甲:你认可上面的那句话吗? 乙:在一定程度上认可吧。...

  • 站队

    站队,想必成年人都不陌生。 从小时起我们就一再地学习向前看齐般地站好队。而今天我书写的这个站队,是从浙江卫视一档节...

  • 站队

    站队,我们从小就学会了,一个班,一群人,大家整齐划一的站成几排。大家都害怕成为异类,所以一上体育课就乖乖站好,每个...

  • 站队

    小区门口开了一家圣豪便利店,开业期间,物美价廉,也导致排队付款的人相当多。 早晨没事,我去跑步,回来看着人不多寻思...

  • 站队

    现在的王其虎有点晕,他自己也不知自己是哪队,该站到哪队。 王其虎王主任这么多年在政府机关和国企都工作过,侍候...

网友评论

      本文标题:9_3站队问题

      本文链接:https://www.haomeiwen.com/subject/uzmiextx.html