P1157 組合的輸出 題解

2021-10-08 19:49:46 字數 382 閱讀 4875

就是列印出有位數限制的全排列(按照字典序)

個人用dfs遞迴做完

但是看了別人的stl做法,對next_permutation有了更新的認識。(當時想用stl,但是不知道怎麼實現,看了別人的就明白01陣列的妙處了)

##我的**

#include

using

namespace std;

int a[22]

,n,r;

void

fun(

int num,

int p)

if(p==1)

}else}}

intmain()

next_permutation加上0-1陣列實現

P1157 組合的輸出

排列與組合是常用的數學方法,其中組合就是從n個元素中抽出r個元素 不分順序r n 我們可以簡單地將n個元素理解為自然數1,2,n從中任取r個數。現要求你輸出所有組合。例如n 5,r 3所有組合為 12 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 3 5 2 4 5...

洛谷P1157 組合的輸出

題目描述 排列與組合是常用的數學方法,其中組合就是從 nn 個元素中抽出 rr 個元素 不分順序且 r le n r n 我們可以簡單地將 nn 個元素理解為自然數 1,2,n1,2,n 從中任取 rr 個數。例如 n 5,r 3n 5,r 3 所有組合為 12 3 1 2 4 1 2 5 1 3 ...

洛谷 P1157 組合的輸出

排列與組合是常用的數學方法,其中組合就是從nn個元素中抽出rr個元素 不分順序且r le n r n 我們可以簡單地將nn個元素理解為自然數1,2,n1,2,n,從中任取rr個數。現要求你輸出所有組合。例如n 5,r 3n 5,r 3,所有組合為 12 3 1 2 4 1 2 5 1 3 4 1 3...