#include <iostream>
#include <vector>
using namespace std;
bool hasEnoughNonZeros(vector<int>& arr, int k) {
int xorSum = 0;
for (int num : arr) {
xorSum ^= num;
}
if (xorSum == 0) {
return count(arr.begin(), arr.end(), 0) < k;
} else {
return false;
}
}
int main() {
int t;
cin >> t;
while (t--) {
int n, k;
cin >> n >> k;
vector<int> arr(n);
for (int i = 0; i < n; ++i) {
cin >> arr[i];
}
if (hasEnoughNonZeros(arr, k)) {
cout << "yes\n";
} else {
cout << "no\n";
}
}
return 0;
}
这个代码不知为什么编译啊,各位帮忙看看