此代码疑似AI生成,请仔细甄别
2025-05-06 12:54:37
发布于:广东
86阅读
0回复
0点赞
笑点解析:现在才知道 vector 迭代器可以直接减,不需要 distance
#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int a[25];
vector <int> states;
void solve(){
int n, m;
cin >> n >> m;
for(int i = 0; i < n; i++) cin >> a[i];
for(int i = 1; i < (1 << n); i++){
int cur = 0, ct = 0;
for(int j = 0; j < n; j++){
if(i >> j & 1) cur += a[j], ct++;
}
if(ct == m) states.push_back(cur);
}
sort(states.begin(), states.end());
auto it = unique(states.begin(), states.end());
cout << distance(states.begin(), it) << '\n';
for(int i = 0; i < n; i++) a[i] = 0;
states.clear();
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
int t;
cin >> t;
while(t--) solve();
return 0;
}
全部评论 1
ddd
2025-05-19 来自 浙江
0
有帮助,赞一个