用户输出
34
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#63215 | #1121. jwp的幸运集合(弱化版) | Accepted | 100 | 216 ms | 364 K | C++ 17 / 657 B | zcxvzvx | 2021-07-20 17:01:10 |
#include <stdio.h>
#include <map>
#include <vector>
using namespace std;
typedef long long int ll;
map<ll, ll> mp;
vector<ll> vc;
int main() {
int n = 0, temp, mask = 0, total;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &temp);
vc.push_back(temp);
}
total = 1 << n;
int ans = 0;
for (mask = 0; mask < total; mask++) {
ll sum = 0;
int num = 0;
//二进制枚举,一般用于枚举集合,但是复杂度特别大
for (int i = 0; i < n; i++) {
if ((mask >> i) & 1) {
sum += vc[i];
num++;
}
}
if (sum == 0 && num != 0 && !(num & 1))
ans++;
}
printf("%d", ans);
return 0;
}
用户输出
34
系统信息
Exited with return code 0
用户输出
69
系统信息
Exited with return code 0
20
50000000 -50000000 50000000 -50000000 50000000 -50000000 50000000 -50000000 50000000 -50000000 50
<93 bytes omitted>
用户输出
184755
系统信息
Exited with return code 0
20
50000000 50000000 50000000 50000000 50000000 50000000 50000000 50000000 50000000 50000000 5000000
<82 bytes omitted>
用户输出
0
系统信息
Exited with return code 0
用户输出
255
系统信息
Exited with return code 0