题解 P2347 【砝码称重】
pantw
2018-01-27 10:54:22
bitset基础题。
我们用一个bitset保存每个重量能否被称出即可。
实现细节详见代码。(喜欢的话给个赞呀qaq)
```cpp
#include <bitset>
#include <cstdio>
int a[10], w[10] = {1, 2, 3, 5, 10, 20};
std::bitset<1010> S;
int main() {
for(int i = 0; i < 6; i++) scanf("%d", a + i);
S[0] = 1;
for(int i = 0; i < 6; i++) for(int j = 0; j < a[i]; j++) S |= S << w[i];
printf("Total=%d\n", S.count() - 1);
return 0;
}
```