#include<iostream>
using namespace std;
int main(){
int n=0;
cin>>n;
b:
while(n--){
int m=0,a[55]={0};
cin>>m;
for(int i=0;i<m;i++){
cin>>a[i];
}
for(int i=0;i<m;i+=2){
int s=a[0]%2;
if(a[i]%2!=s){
cout<<"No\n";
goto b;
}
}
for(int i=1;i<m;i+=2){
int s=a[1]%2;
if(a[i]%2!=s){
cout<<"No\n";
goto b;
}
}
cout<<"Yes\n";
}
return 0;
}
goto要慎用,可以用一个flag改掉
另一个思路
#include<iostream>
using namespace std;
int main(){
int t=0;
cin>>t;
while(t--){
int m=0,n=0,p=1;
cin>>m;
int a=0,b=0;
for(int i=0;i<m;i++){
cin>>n;
if(p)a+=n%2;
else b+=n%2;
p=!p;
}
if((a==0||a==(m/2+m%2))&&(b==0||b==m/2)) cout<<"YES\n";
else cout<<"NO\n";
}
return 0;
}