题目大意:
我们会给定一个 (N imes M) 的矩阵,你需要从这个矩阵中找出一个 (P imes P) 的子矩阵,使得这个子矩阵的每一列和每一行都是回文序列。
正文:
这题数据水,暴力可过:三个方确定矩阵,两个方判断是否回文。
代码:
for (int len = min(n, m); len >= 1; len--)
{
for (int i = 1; i <= n - len + 1; i++)
for (int j = 1; j <= m - len + 1; j++)
{
bool flag = 1;
for (int ii = 0; ii < len; ii++)
{
for (int jj = 1; jj <= (len / 2); jj++)
if(a[i + ii][j + jj - 1] != a[i + ii][j + len - jj] ||
a[i + jj - 1][j + ii] != a[i + len - jj][j + ii])
{
flag = 0;
break;
}
if(!flag) break;
}
if(flag)
{
printf("%d", len);
return 0;
}
}
}