洛谷P1157 組合的輸出 DFS暴力

2021-10-21 17:24:10 字數 434 閱讀 1303

題目鏈結

這個題目和全排列有一些不一樣:該題需要先從1~n中選擇m個數字,然後再對m個數字公升序排列。

前半句,從n個數字選m個,普通的全排列可以做到,對m個數字公升序排列,那麼就在每一次選擇數字的時候從上次最後乙個出發就可以。

主要也是我審題不清晰。

#include #include #include #include #include using namespace std;

const int maxn = 25;

int a[maxn],vis[maxn];

int n,r;

void dfs(int now)

for(int i=a[now-1]+1;i<=n;i++)

vis[i] = 0;}}

}int main()

洛谷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...

洛谷 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 ...