当前位置:网站首页>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;
}
边栏推荐
- Learning breakout 3 - about energy
- 超详细教程,一文入门Istio架构原理及实战应用
- [wechat applet] collaborative work and release
- Interviewer: what is XSS attack?
- Analyzing the maker space contained in steam Education
- Jerry's ad series MIDI function description [chapter]
- 如何使用ConcurrentLinkedQueue做一个缓存队列
- 关系型数据库
- 【微信小程序】协同工作与发布
- MongoDB聚合操作总结
猜你喜欢
每日一题-LeetCode556-下一个更大元素III-字符串-双指针-next_permutation
At the right time, the Guangzhou station of the city chain science and Technology Strategy Summit was successfully held
【微信小程序】协同工作与发布
[ 每周译Go ] 《How to Code in Go》系列文章上线了!!
每日一题-LeetCode1200-最小绝对差-数组-排序
MongoDB聚合操作总结
OMS系统实战的三两事
巅峰不止,继续奋斗!城链科技数字峰会于重庆隆重举行
Compréhension approfondie du symbole [langue C]
[public class preview]: basis and practice of video quality evaluation
随机推荐
Flutter WebView示例
gtest从一无所知到熟练使用(2)什么是测试夹具/装置(test fixture)
Use of redis publish subscription
巅峰不止,继续奋斗!城链科技数字峰会于重庆隆重举行
Stealing others' vulnerability reports and selling them into sidelines, and the vulnerability reward platform gives rise to "insiders"
EhLib 数据库记录的下拉选择
GTEST from ignorance to proficient use (2) what is test fixture
学习突围3 - 关于精力
Jerry's ad series MIDI function description [chapter]
Lambdaquerywrapper usage
Kubedm initialization error: [error cri]: container runtime is not running
How to implement Devops with automatic tools
torch. Tensor and torch The difference between tensor
Redis03 - network configuration and heartbeat mechanism of redis
Case sharing | integrated construction of data operation and maintenance in the financial industry
Analysis of maker education technology in the Internet Era
Analyzing the maker space contained in steam Education
Flink1.13 SQL basic syntax (I) DDL, DML
Open3D 曲面法向量计算
超详细教程,一文入门Istio架构原理及实战应用