先看到后面,(2^1-1)&(2^2-1)...首项为1,即最低位是1,其余为是0,由于是与运算,最后无论n为何值都是1 !!!
前面由题意知,最后横坐标就是列出a[i]相加的和,由于后项无论如何都是1,可以的出前项与后项只需要看前项的最低位
只能是0或1,所以相加对二取余可得出最后的值(函数为快速幂,可忽略)
#include <iostream>
using namespace std;
using ll=long long;
ll qmi(ll a,ll b){
ll res=1;
while(b){
if(b&1)res*=a;
a*=a;
b>>=1;
}
return res;
}
int main() {
int n;
cin>>n;
int sum=0;
while(n--){
string s;
cin>>s;
sum+=s.back()-'0';
sum%=2;
}
printf("%d",sum);
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号