K 選課時間 HDU 2079

2021-08-21 18:40:01 字數 1045 閱讀 9073

k - 選課時間

hdu - 2079

又到了選課的時間了,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

2

2 21 2

2 140 8

1 12 2

3 24 2

5 86 9

7 68 8

sample output

2

445

#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

#define inf 0x3f3f3f3f

typedef long long ll;

const int n=22;

const int mmax=48;

const int mod = 1e5+ 7;

int val[n];

int a[mmax],t[mmax],num[n];

int main()

memset(a,0,sizeof(a));

memset(t,0,sizeof(t));

a[0]=1;

for(int i=0; i<=q; i++)}}

memcpy(a,t,sizeof(a));

memset(t,0,sizeof(t));

}cout<}

return 0;

}

HDU2079 選課時間

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

HDU 2079 選課時間 動態規劃

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

HDU 2079選課時間 (母函式)

其實思路是挺簡單的,直接母函式的模板套用即可,主要是粗心的緣故吧,少些了點東西,後來反覆built才弄好 include include include include include using namespace std 選課時間 問n個學分有多少種組合,認為學分一樣的課沒區別 input 輸入...