题意:
。。。
思路:
将每门课看成一个组,每门课上不同的天数是这个组里的物品。
注意,如果使用压缩空间的话,要先循环背包容量,再循环组内物品。
link
while(cin >> n >> m && n && m) {
memset(dp, 0, sizeof(dp));
rep(i, 1, n) {
rep(j, 1, m) cin >> a[j];
urep(j, m, 1)
rep(k, 1, j)
dp[j] = max (dp[j], dp[j-k]+a[k]);
}
cout << dp[m] << endl;
}