专栏文章
题解:P12156 [蓝桥杯 2025 省 Java B] 电池分组
P12156题解参与者 2已保存评论 2
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mipm5igy
- 此快照首次捕获于
- 2025/12/03 14:15 3 个月前
- 此快照最后确认于
- 2025/12/03 14:15 3 个月前
这题不用想那么复杂,题意是把一堆数分成两堆判断能不能出现两堆的异或值一样的情况。
众所周知异或运算有交换律,也有结合律,而且两个一样的值异或值为零,那么只需要把这堆数全部异或起来看最后值是不是零就行了,如果最后的值为零那就能出现,否则就不能。
下面奉上 CPP 的代码。
CPP#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
ios::sync_with_stdio(false);
int t;
cin>>t;
int n,ans;
while(t--){
cin>>n;
int a[n];
cin>>a[0];
ans=a[0];
for(int i=1;i<n;i++){
cin>>a[i];
ans^=a[i];
}
if(ans==0)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
相关推荐
评论
共 2 条评论,欢迎与作者交流。
正在加载评论...