#include<iostream>
#include<vector>
#include<map>
#include<algorithm>
#include<bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
typedef pair<int, int> PII;
typedef long long ll;
int n;
void solve() {
cin >> n;
map<string, int> f2, f3, h3;
bool f = 0;
for (int i = 1; i <= n; i ++) {
string s;
cin >> s;
string rrr =s;
reverse(rrr.begin(), rrr.end());
if (rrr == s) f = 1;
if (s.size() == 1) {
f = 1;
}
else if (s.size() == 2) {
string rs = s;
reverse(rs.begin(), rs.end());
if (f2[rs] || f3[rs]) f = 1;
f2[s] = 1;
}
else {
string rs = s;
reverse(rs.begin(), rs.end());
if (h3[rs]) f = 1;
string rs2 = s.substr(1, 2);
reverse(rs2.begin(), rs2.end());
if (f2[rs2]) f =1;
string rs22 = s.substr(0, 2);
h3[s] = f3[rs22] = 1;
}
}
if (f) puts("YES");
else
puts("NO");
}
int main () {
int t;
cin >>t;
while (t --) solve();
return 0;
}
分类讨论的重要性。这里一眼看过去的时候觉得一大坨,非常难搞。这时候应该对长度进行分类讨论,长度