一道排列组合题

原创 2015年11月21日 15:16:08

题目:


现假设要将颗粒状的药品调剂成一种新药。药品有A,B,C三种。新药调剂规则如下。

  • 从A,B,C这3种药品中,共取100粒进行调剂。
  • 调剂时,A,B,C这3种药品每种至少有一粒。
  • 不考虑药品调剂的顺序。
  • 同种药品每粒都相同。

这种情况下,新药调剂的组合共有多少种呢?


Solution 1:

  • 共有100粒药,我们假设A=>x,B=>y,C=>z,则有x+y+z = 100。
  • 调剂时,A,B,C每种至少有一粒,则有 1<=x<=98, 1<=y<=98, 1<=z<=98。
  • 不用考虑药品的顺序&&同种药品都是相同的。可以得出这是个分个数问题。

代码实现:

int x , y , z , count = 0;
    for (x = 1; x <= 98; x++){
        for (y = 1; y <= 98; y++){
            for (z = 1; z <= 98; z++){
                if (x + y + z == 100){
                    cout << "x: " << x << " " << "y: " << y << " " << "z: " << z << " " << endl;
                    count++;
                }
            }
        }
    }
    cout << count;

Solution 2:

  • 由于有A,B,C三种药,并且每一种药都至少有一粒。则我们可以规定有两块木板,分别为L1,L2,同时规定L1左边必定是A,右边必定是B;L2左边必定是B,右边必定是C。
  • 这样问题就转换为成,如果在99个空位里面填上两块木板。即方法有C(99,2)种。
  • 为什么可以如此转换?
    • 因为我们总有100粒药品,且每种药品的个数是可以活动的。所以,我们只需要保证有L1,L2,我们就能保证每类药品至少有一颗。

相关文章推荐

一道字符串排列组合算法题

一道字符串排列组合算法题/** * 编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符 * 例如: * 原始字符串是"abc",打印得到下列所有组合情况 ...

一道递归思想的排列组合题目

题目原题:任意数字序列“12345678”之类,输出它们所有的排列组合这道题目对于学习递归还是挺不错的,可以借鉴一下 要注意的是: list.remove() 删掉链表的第一项,并返回这个对象(...
  • gsycwh
  • gsycwh
  • 2016年08月23日 10:39
  • 2670

AC解 - 用动态规划解决一道排列组合计数问题(序关系计算)

AC解 - 用动态规划解决一道排列组合计数问题(序关系计算) 原题如下:http://acm.nankai.edu.cn/problem.php?problem=1134 [同时请参考网友pand...

模拟题_Loli的排列组合

Loli说得分前六的都是清华北大了,23333333333 1、 pl.cpp输入一行字母(长度小于等于10),输出:第一行输出全排列个数,从下一行开始按字典序输出这些字母所有可能的排列,每行一个...

经典算法题:排列组合-有放回地取不同颜色的小球

有6种不同颜色的球,分别记为1,2,3,4,5,6,每种球有无数个。现在取5个球,求在以下的条件下: 1、5种不同颜色, 2、4种不同颜色的球, 3、3种不同颜色的球, 4、2种不同颜色的球, 它们的...

HDOJ, 杭电1465, 不容易系列之一, 排列组合错排题。。

这个错排的公式我真的忘记了。高中时候老师帮我们推导过。。。。 于是查询各种资料。。。(其实就是百度百科。。。) 于是简单的小代码如下: (核心代码就一行,就是那个递推公式) /**...

某公司面试概率题值排列组合基础回忆

昨天看到一道某公司三面的概率题,本质是排列组合,于是乎打算回顾下排列组合: 用C(n,m)表示从n个不同的物品选择m个的选法,n>=m  combination 用P(n,m)表示从n个不同的物品...

JavaScript趣题:排列组合实战

首先,来看这样一张图,它类似于以前老式平板手机的按键桌面。 我们如果按了“2”这个键,那么可以调出“A”,“B”,“C”三种字母来。 除了“1”和“0”键,其它数字键都可以调出多种字母来。...
  • esir82
  • esir82
  • 2016年10月12日 13:36
  • 537

集合排列组合题

排列组合与回溯算法     排列组合与回溯算法 KuiBing 感谢Bamboo、LeeMaRS的帮助 [关键字] 递归 DFS [前言] 这篇论文主要针对排列组合对...
  • kalium
  • kalium
  • 2012年05月24日 02:35
  • 517

Codeforces Round #404 (Div. 2) D. Anton and School - 2 排列组合好题

D. Anton and School - 2 time limit per test 2 seconds memory limit per test 256 megabytes inpu...
  • jerans
  • jerans
  • 2017年03月20日 10:58
  • 96
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一道排列组合题
举报原因:
原因补充:

(最多只允许输入30个字)