XYNUOJ 1275 組合的輸出

2021-08-17 03:56:31 字數 689 閱讀 4481

時間限制: 1 sec  

記憶體限制: 128 mb

提交: 17  

解決: 9 [

提交][

狀態][

討論版]

[問題描述]

從n個數中取出r個元素,輸出所有組合

[輸入格式]

一行兩個自然數n和r (1

[輸出格式]

所有的組合,每個組合佔一行,其中的元素從小到大排序,用乙個空格隔開,所有組合按字典序。

[輸入樣例]

5 3[輸出樣例]

1 2 3

1 2 4

1 2 5

1 3 4

……(太多,此處省略)

搜尋 簡單的深搜

剛開始用了乙個next_permutation函式,但是如果剩餘的位數多了就會出現重複,比如,如果從10個數里選擇3個進行排序,則會出現7次重複

#include#includeint n,r;

int visit[25],a[25],b[25];

int dfs(int k,int flag)

} }}int main(){

while(scanf("%d %d",&n,&r)!=eof){

memset(visit,0,sizeof(visit));

for(int i=0;i

xynuoj1326 組合的輸出 dfs

時間限制 1 sec 記憶體限制 128 mb 提交 10 解決 6 提交 狀態 討論版 edit testdata 排列與組合是常用的數學方法,其中組合就是從n個元素中抽出r個元素 不分順序且r n 我們可以簡單地將n個元素理解為自然數1,2,n,從中任取r個數。現要求你不用遞迴的方法輸出所有組合...

1317 組合的輸出

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

2020 10 06組合的輸出

題目描述 排列與組合是常用的數學方法,其中組合就是從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 ...