题解:CF2014B Robin Hood and the Major Oak
容易观察到:如果 \(i\) 为奇数,那么 \(i^i\) 也为奇数。如果 \(i\) 为偶数,那么 \(i^i\) 也为偶数。我们只需要统计从 \(n-k+1\) 到 \(n\) 中奇数的个数即可。
代码:
#include<bits/stdc++.h>
using namespace std;
bool check(int n, int k) {
long long cnt=0;
int i=n-k+1;
if(i%2==0) i++;
if(n%2==0) n--;
cnt=(n-i)/2+1;
return cnt%2==0;
}
int main() {
int t;
cin >> t;
while (t--) {
int n, k;
cin >> n >> k;
if (check(n, k)) {
puts("YES");
} else {
puts("NO");
}
}
return 0;
}

浙公网安备 33010602011771号