[kuangbin]Phalanx 基础dp(求最大对称子矩阵)

给你一个矩阵,只由小写或大写字母构成。求出它的最大对称子矩阵的边长。

其中对称矩阵是一个k*k的矩阵,它的元素关于从左下角到右上角的对角线对称。 
例如下面这个3* 3的矩阵是对称矩阵: 
cbx 
cpb 
zcc

Input

多组数据。每一组第一行是一个 n (0<n<=1000),下面是n行,每一行有n个字母,中间没有空格。数据以n=0结束。

Output

每组数据输出最大的对称矩阵的边长。

Sample Input

3
abx
cyb
zca
4
zaba
cbab
abbc
cacq
0

Sample Output

3
3

题目大意:中文题意

题目思路:每一个对称矩阵都可以由他的右上角元素得来,因为其关于左下-右上的对角线对称,所以我们可以把每一个元素当成左下角的元素,所以遍历当前元素时就可以去更新他左下角的元素.自己画图可以看出来状态转移方程

dp[i+1][j-1]+=当前点往上与当前点往右最大的相等长度

AC代码:

 

全部评论

相关推荐

07-25 11:12
重庆大学 C++
既然这么缺人,为什么挂我呢
飞花断音:华为需要学历不高,但是很能干事儿,能吃苦也没怨言,愿意无偿加班,最好上有老下有小,不是独生子女,家庭条件不好,家在外地租房住,生活成本高,不会轻易跳槽,并且愿意接受低工资的奴仆任劳任怨地给任总的女儿买大别墅住
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务