HDU 2079 選課時間 組合題

2022-05-18 14:28:56 字數 940 閱讀 2144

解題報告:最多有8種學分的課,然後每種學分的課最多有10門,問要選學分為n的課一共有多少種選法,注意學分相同的課之間沒有區別。

這題暴力可過,我用了8層迴圈,就簡單了。聽說可以用母函式,但沒學過,看一下。

1 #include2 #include3 #include4 #include5

using

namespace

std;

6int score[10];7

intmain()

17int tot = 0;18

for(int a = 0;a<=score[1]&&a<=n;++a)

19for(int b = 0;b<=score[2]&&a+2*b<=n;++b)

20for(int c = 0;c<=score[3]&&a+2*b+3*c<=n;++c)

21for(int d = 0;d<=score[4]&&a+2*b+3*c+4*d<=n;++d)

22for(int e = 0;e<=score[5]&&a+2*b+3*c+4*d+5*e<=n;++e)

23for(int f = 0;f<=score[6]&&a+2*b+3*c+4*d+5*e+6*f<=n;++f)

24for(int g = 0;g<=score[7]&&a+2*b+3*c+4*d+5*e+6*f+7*g<=n;++g)

25for(int h = 0;h<=score[8]&&a+2*b+3*c+4*d+5*e+6*f+7*g+8*h<=n;++h)

26if(a+2*b+3*c+4*d+5*e+6*f+7*g+8*h ==n)

27 tot++;

28 printf("

%d\n

",tot);29}

30return0;

31}32

view code

HDU2079 選課時間

problem description 又到了選課的時間了,xhd看著選課表發呆,為了想讓下一學期好過點,他想知道學n個學分共有多少組合。你來幫幫他吧。xhd認為一樣學分的課沒區別 input 輸入資料的第一行是乙個資料t,表示有t組資料。每組資料的第一行是兩個整數n 1 n 40 k 1 k 8 ...

K 選課時間 HDU 2079

k 選課時間 hdu 2079 又到了選課的時間了,xhd看著選課表發呆,為了想讓下一學期好過點,他想知道學n個學分共有多少組合。你來幫幫他吧。xhd認為一樣學分的課沒區別 input 輸入資料的第一行是乙個資料t,表示有t組資料。每組資料的第一行是兩個整數n 1 n 40 k 1 k 8 接著有k...

HDU 2079 選課時間 動態規劃

題目傳送門 這個題目乍一看像是個多重揹包問題,仔細一想還真是個多重揹包問題,只是沒有權值而已。這樣,我們的狀態就要改變了。求什麼就設什麼 狀態 dp i 表示已經組合好i個學分的組合數 刻畫子結構特徵 新的高學分的組合數都可以轉化為低學分的和。舉個栗子 目標4學分 2種學分種類 1學分 2門 2學分...