当前位置:网站首页>HDU - 2859 Phalanx(DP)
HDU - 2859 Phalanx(DP)
2022-07-04 21:50:00 【WA_ automata】
HDU - 2859 Phalanx
Problem Description
Today is army day, but the servicemen are busy with the phalanx for the celebration of the 60th anniversary of the PRC.
A phalanx is a matrix of size n * n, each element is a character (a~z or A~Z), standing for the military branch of the servicemen on that position.
For some special requirement it has to find out the size of the max symmetrical sub-array. And with no doubt, the Central Military Committee gave this task to ALPCs.
A symmetrical matrix is such a matrix that it is symmetrical by the “left-down to right-up” line. The element on the corresponding place should be the same. For example, here is a 3*3 symmetrical matrix:
cbx
cpb
zcc
Input
There are several test cases in the input file. Each case starts with an integer n (0<n<=1000), followed by n lines which has n character. There won’t be any blank spaces between characters or the end of line. The input file is ended with a 0.
Output
Each test case output one line, the size of the maximum symmetrical sub- matrix.
Sample Input
3
abx
cyb
zca
4
zaba
cbab
abbc
cacq
0
Sample Output
3
3
#include<iostream>
#include<cstring>
using namespace std;
const int N = 1010;
char s[N][N];
int dp[N][N];
int main()
{
int n;
while(cin>>n,n)
{
memset(dp,0,sizeof dp);
for(int i=1;i<=n;i++) cin>>(s[i]+1);
int ans=1;
for(int i=1;i<=n;i++)
for(int j=n;j>=1;j--)
{
dp[i][j]=1;
if(i==1||j==n) continue;
int l=dp[i-1][j+1];
for(int k=1;k<=l;k++)
if(s[i-k][j]==s[i][j+k]) dp[i][j]++;
else break;
ans=max(ans,dp[i][j]);
}
cout<<ans<<endl;
}
return 0;
}
边栏推荐
猜你喜欢
[early knowledge of activities] list of recent activities of livevideostack
奋斗正当时,城链科技战略峰会广州站圆满召开
Methods of improving machine vision system
解读创客教育中的各类智能化组织发展
Enlightenment of maker thinking in Higher Education
Flutter TextField示例
CloudCompare&Open3D DBSCAN聚类(非插件式)
[weekly translation go] how to code in go series articles are online!!
Maya lamp modeling
解析互联网时代的创客教育技术
随机推荐
Stealing others' vulnerability reports and selling them into sidelines, and the vulnerability reward platform gives rise to "insiders"
Redis has three methods for checking big keys, which are necessary for optimization
__ init__ () missing 2 required positive arguments
Open3D 曲面法向量计算
Kubedm initialization error: [error cri]: container runtime is not running
How was MP3 born?
[wechat applet] collaborative work and release
How is the entered query SQL statement executed?
什么是商业智能(BI),就看这篇文章足够了
如何借助自动化工具落地DevOps
学习突围3 - 关于精力
Caduceus从未停止创新,去中心化边缘渲染技术让元宇宙不再遥远
SolidWorks工程图添加材料明细表的操作
Solve the problem of data disorder caused by slow asynchronous interface
Compréhension approfondie du symbole [langue C]
Analyzing the maker space contained in steam Education
AcWing 2022 每日一题
Three or two things about the actual combat of OMS system
bizchart+slider实现分组柱状图
gtest从一无所知到熟练使用(3)什么是test suite和test case