P2347 砝码称重(01 背包基础)
同样是可达性问题。
#include<bits/stdc++.h>
using namespace std;
const int dx[6]={1,2,3,5,10,20};
bitset<1009> dp;
int main(){
dp[0]=1;
for(int i=0,T;i<6;i++){
scanf("%d",&T);
while(T--) dp|=(dp<<dx[i]);
}
printf("Total=%d\n",dp.count()-1);
}

浙公网安备 33010602011771号