[過去ログ] プログラミングのお題スレ Part16 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
653
(1): 2020/01/19(日)18:23 ID:t01ujcAX(1) AAS
>>629 Perl5
use List::Util qw{max};
$W = 20;
$n = @wv = ([3, 5],[5, 6],[6, 3],[3, 5],[5, 9],[2, 1],[7, 5],[4, 6],[8, 3]);
@w = map{$$_[0]} @wv;
@v = map{$$_[1]} @wv;
$wt[$n][$_] = 0 for 0..$W;
for ($i = $n - 1; $i >= 0; $i--) {
 for $j (0..$W) {
  $ws = $wt[$i + 1][$j];
  $ws = max($wt[$i + 1][$j - $w[$i]] + $v[$i], $ws) if $j >= $w[$i];
  $wt[$i][$j] = $ws;
 }
}
print "価値合計最大: $wt[0][$W]\n";
$j = $W;
for $i (0..$n-1) {
 $ws = $wt[$i][$j];
 if ($wt[$i + 1][$j] != $ws) {
  print "[$w[$i], $v[$i]] ";
  $ws -= $v[$i];
  for (; 0 <= $j; $j--) { last if $wt[$i + 1][$j] == $ws; }
 }
}

$ perl 16_629_nsp_dp.pl
価値合計最大: 31
[3, 5]
[5, 6]
[3, 5]
[5, 9]
[4, 6]
1-
あと 349 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.024s