トピックポータル
問題解決のアイデア:
実際には、2つのボリュームバックパック01を限定するように理解することができるあります
ACコード:
1の#include <iostreamの> 2の#include <cstdioを> 3 4 使用して 名前空間STDを、 5 6 INT N、M、X、[ 101 ]、B [ 101 ]、C [ 101 ]、F [ 1001 ] [ 1001 ]。 7 8 INT メイン(){ 9 のscanf(" %D%D%D "、&N、&M、およびX)。 10 のために(INT iが= 1 ; I <= N; I ++ ) 11 のscanf(" %D%D%D "、および[I]、&B [i]は、&はC [I])。 12 のために(INTは iは= 1 <; I ++ = N I ) 13 のための(INT J = M; J> = B [I]; j-- ) 14 のための(int型、K> = C [i]は、K = X ; k-- ) 15 F [J] [K] = MAX(F [J] [K]、F [JB [I] [KC [I] + [I])。 16 のprintf(" %dの" 、F [M] [X])。 17 リターン 0 ; 18 }