解題報告:最多有8種學分的課,然後每種學分的課最多有10門,問要選學分為n的課一共有多少種選法,注意學分相同的課之間沒有區別。
這題暴力可過,我用了8層迴圈,就簡單了。聽說可以用母函式,但沒學過,看一下。
1 #include2 #include3 #include4 #include5view codeusing
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
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學分...