P10835 『FLA - I』冲云霄 题解
题目传送门
题意概要
给出两个整数
-
数列中的元素为正整数。
-
即序列 $a$ 的所有项异或得到的结果等于 $n$。 -
数列
a 中所有元素的值都相同。思路讲解
仔细观察,不难发现
x \oplus x=0(x \in \N) ,且0 \oplus x=x(x \in \N) 。根据这两条公式,可得出以下结论。
当
当
根据上面得出的结论,分类讨论。
当
当
代码实现
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m,t;
cin>>t;
while(t--){
cin>>n>>m;
if(n==0 && m%2==0)cout<<"Yes";
else if(n==0 && m%2==1)cout<<"No";
//当n等于0且m为偶数,则存在a数列
else if(n && m%2==1)cout<<"Yes";
else cout<<"No";
//否则当n大于0且m为奇数,则存在a数列
cout<<endl;
}
return 0;
}
完结撒花!
(该题解为本蒟蒻的第一篇题解,如有可以改进的地方,欢迎大家在评论区指出)