デイリー質問day12パンチ
分析
フル・バックパック
1の#include <iostreamの> 2の#include <cstdioを> 3の#include <CStringの> 4の#include <アルゴリズム> 5 の#define MAXN千+ 10 6 使用して 名前空間STD。 7インラインint型リード() 8 { 9 整数 X = 0 。 10 ブール F = 1 。 11 チャー C = GETCHAR()。 12 のために(!; isdigit(C); C = GETCHAR())場合(C == ' - ')、F = 0 。 13 のために(; isdigit(C); C = GETCHAR())x =(x << 3)+(X << 1)+ C- ' 0 ' 。 14 であれば(F) 、リターンX。 15 リターン 0 - X。 16 } 17インラインボイドライト(長い 長いX) 18 { 19 であれば(X < 0){のputchar(' - '); X = - X;} 20 場合(X> 9)書き込み(X / 10 )。 21 のputchar(X%10 + ' 0 ' )。 22 } 23 のint重量[ 10 ] = { 0、1、2、3、5、10、20 }、[ 10 ]、DP [MAXN]。 24の int型のANS; 25 INT ()主 26 { 27 のためには、(int型 i = 1 ; iが= < 6 ; I ++)は、[I] = 読み取ります(); 28 DP [ 0 ] = 1 。 29 以下のために(int型 i = 1 ; iは= < 6 I ++; ) 30 のための(INT J = 1 ; J <= [i]は、J ++ ) 31 のための(INT K = 1000年 ; K> = 0 ; k-- ) 32 { 33 であれば(DP [K] == 1)DP [K +重量[I] = 1 。 34 } 35 のために(int型 i = 1 ; iが= < 1000 ; iが++)場合(DP [I] == 1)ANS ++; 36 のprintf(" 合計= " )。 37 ライト(ANS)。 38 リターン 0 ; 39 }
論文をギャングしてください(とにかく、私はそれが論文を何を意味するのか知りません)