2 8 集合劃分問題 給定要分成幾個集合

2021-09-28 11:31:59 字數 909 閱讀 3562

´問題描述:

n 個元素的集合可以劃分為若干個非空子集。例如,當 n=4 時,集合可以劃分為 15 個不同的非空子集如下:

,,,},

,,},

,,},

,,},

,,},

,,},

,,},

,},,},

,},,},

,},,},

,},}

其中,集合}由 1 個子集組成;集合,},,},,},,},,},,},,}由 2 個子集組成;集合,,},,,},,

,},,,},,,},,,}由 3 個子集組

成;集合,,,}由 4 個子集組成。

´程式設計任務:

給定正整數 n 和 m,計算出 n 個元素的集合可以劃分為多少個不同的由 m 個

非空子集組成的集合。

´資料輸入:

由檔案 input.txt 提供輸入資料。檔案的第 1 行是元素個數 n 和非空子集數 m。

´結果輸出:

程式執行結束時,將計算出的不同的由m個非空子集組成的集合數輸出到檔案output.txt

中。輸入檔案示例 輸出檔案示例

input.txt output.txt

4 3 6

【題解】

這是第二類stirling數。

遞推公式f[n][m] = f[n-1][m-1]+m*f[n-1][m]

f[0][0] = 1;

【**】

#include using namespace std;

const int n = 100;

long long f[n+10][n+10];

int main()

while (1)

return 0;

}

2 7 集合劃分問題

問題描述 n 個元素的集合可以劃分為若干個非空子集。例如,當 n 4 時,集合可以劃分為 15 個不同的非空子集如下 程式設計任務 給定正整數 n,計算出 n 個元素的集合可以劃分為多少個不同的非空子集。資料輸入 由檔案 input.txt 提供輸入資料。檔案的第 1 行是元素個數 n。結果輸出 程...

9409 集合的劃分問題

time limit 3 second memory limit 2 mb 問題描述 n 個元素的集合可以劃分為若干個非空子集。例如,當n 4 時,集合可以劃分為15 個不同的非空子集如下 其中,集合 由1 個子集組成 集合,由2 個子集組成 集合,由3 個子集組成 集合,由4 個子集組成。程式設計...

例4 5 集合的劃分

時間限制 1000 ms 記憶體限制 65536 kb 提交數 218 通過數 158 題目描述 設s是乙個具有n個元素的集合,s 現將s劃分成k個滿足下列條件的子集合s1,s2,sk 且滿足 1 si 2 si sj 1 i,j k i j 3 s1 s2 s3 sk s 則稱s1,s2,sk是集...