题意;
给出 个字符串,找到一个字符串,使得该字符串和其他字符串最多相差一个字符。
记录每个字符串的衍生字符串,被衍生了 次的就是答案。
AC代码;
int n, m, k;
int main()
{
int t;
sd(t);
while (t--)
{
sdd(n, m);
map<string, int> mp;
string s;
bool flag = 0;
rep(i, 1, n)
{
cin >> s;
set<string> st;
rep(j, 0, m - 1)
{
char t = s[j];
rep(k, 0, 25)
{
if (t - k >= 'a')
{
s[j] = t - k;
st.insert(s);
}
}
s[j] = t;
}
for (auto i : st)
++mp[i];
}
for (auto i : mp)
{
if (i.second == n)
{
cout << i.first << endl;
flag = 1;
break;
}
}
if (!flag)
puts("-1");
}
return 0;
}