problem description
又到了選課的時間了,xhd看著選課表發呆,為了想讓下一學期好過點,他想知道學n個學分共有多少組合。你來幫幫他吧。(xhd認為一樣學分的課沒區別)
input
輸入資料的第一行是乙個資料t,表示有t組資料。
每組資料的第一行是兩個整數n(1 <= n <= 40),k(1 <= k <= 8)。
接著有k行,每行有兩個整數a(1 <= a <= 8),b(1 <= b <= 10),表示學分為a的課有b門。
output
對於每組輸入資料,輸出乙個整數,表示學n個學分的組合數。
sample input
22 21 2
2 140 8
1 12 2
3 24 2
5 86 9
7 68 8
sample output
2445
母函式:
#include #include #include #include #define n 50
using namespace std;
int a[100],b[100];
int v[30];
int main()
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
a[0]=1;
for(int i=1;i<=m;i++)
}} printf("%d\n",a[n]);
} return 0;
}
problem description
又到了選課的時間了,xhd看著選課表發呆,為了想讓下一學期好過點,他想知道學n個學分共有多少組合。你來幫幫他吧。(xhd認為一樣學分的課沒區別)
input
輸入資料的第一行是乙個資料t,表示有t組資料。
每組資料的第一行是兩個整數n(1 <= n <= 40),k(1 <= k <= 8)。
接著有k行,每行有兩個整數a(1 <= a <= 8),b(1 <= b <= 10),表示學分為a的課有b門。
output
對於每組輸入資料,輸出乙個整數,表示學n個學分的組合數。
sample input
22 21 2
2 140 8
1 12 2
3 24 2
5 86 9
7 68 8
sample output
2445
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學分...
HDU 2079選課時間 (母函式)
其實思路是挺簡單的,直接母函式的模板套用即可,主要是粗心的緣故吧,少些了點東西,後來反覆built才弄好 include include include include include using namespace std 選課時間 問n個學分有多少種組合,認為學分一樣的課沒區別 input 輸入...