思路:当A数组中没有1时,B数组全为0;当A中有一个1时,B有两个1;当A有两个连着的1时,B中有两个1,有两个不相连的1时,B中有四个1,由此可见B中1的个数只能是偶数个
(偶然想到的一个思路,不知道正解是咋样的)
C++代码:
#include <iostream>
using namespace std;
typedef long long ll;
ll B[100010];
int main()
{
// 请在此输入您的代码
int T;
ll N;
cin>>T;
while(T--){
int count=0;
cin>>N;
for(int i=1;i<=N;i++){
cin>>B[i];
if(B[i]==1)
count++;
}
if(count%2==0)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
如果有大佬有更好的解法,欢迎大家到评论区分享自己的想法!