有n種物品,並且知道每種物品的數量。要求從中選出m件物品的排列數。例如有兩種物品a,b,並且數量都是1,從中選2件物品,則排列有"ab","ba"兩種。
input
每組輸入資料有兩行,第一行是二個數n,m(1<=m,n<=10),表示物品數,第二行有n個數,分別表示這n件物品的數量。
output
對應每組資料輸出排列數。(任何運算不會超出2^31的範圍)
sample input
2 2sample output1 1
2注意多組輸入:
**:
#include#include#include#include#include#include#include#include#include#includeconst int maxn=1e5+5;
typedef long long ll;
using namespace std;
int n,m;
int a[maxn];
int s;
void dfs(int x)
for(int t=0;t0)
}}int main()
dfs(m);
cout<} return 0;
}
c 排列組合排序 排列組合 組合數專題
書接上回,本期正男老師將帶大家梳理排列組合中組合數的相關考點,組合數考點可以細分為4類,分別為 分類數數問題 分組排序問題 塗色問題以及插棍問題。近六年高考真題中,組合數考點共涉及5道。組合數專題高考真題分布 組合數的定義以及公式如下圖所示。組合數定義 分類數數問題與排列問題中的窮舉問題相似,但分類...
sincerit 組合及排列 深蒐及組合方法求解
從1,2,3,4,5,n這n個數中求出r個數的組合,並輸出 深搜的方法求組合 include int m,k,ans 100 void comb int top,int r for int i top i 1 i intmain 從1,2,3,4,5,n這n個數中求出r個數的排列,並輸出 看成有r個...
leetcode深搜專題
二叉樹的中序非遞迴遍歷 public static void medorderunrecur node root stackstack new stack while stack.empty root null else system.out.println leetcode 98 驗證二叉搜尋樹 ...