B. Binary Palindromes
原题地址
他人的思路来自 https://blog.csdn.net/qq_41879343/article/details/102745044
代码 :
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
int q;
cin >>q;
for(int i=0; i<q; i++)
{
int n,Num=0;int num[100];int odd=0,even=0;
cin >>n;
while(n--) //处理数据
{
string s;cin >>s;
num[Num++]=s.length();//存数据长度
for(int j=0; j<s.size(); j++) //判断0,1
{
if(s[j]=='1')
odd++;
else
even++;
}
}
int flag=0;
int cnt =0;//记录回文数量
for(int j=0;j<Num;j++){
if(num[j]%2){//奇数不考虑,直接回文
flag=1;
break;
}
}
if(flag)
cout <<Num<<endl;
else {
if(odd%2||even%2)
cout<<Num-1<<endl;
else cout<<Num<<endl;
}
}
return 0;
}