【JZOJ 3229】 回文子序列

题目大意:

我们会给定一个 (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;
			}
		}
}
原文地址:https://www.cnblogs.com/GJY-JURUO/p/13464072.html