当前位置:网站首页>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;
}
边栏推荐
- [buuctf.reverse] 151_ [FlareOn6]DnsChess
- Compréhension approfondie du symbole [langue C]
- Jerry's ad series MIDI function description [chapter]
- Case sharing | integrated construction of data operation and maintenance in the financial industry
- Sorting and sharing of selected papers, systems and applications related to the most comprehensive mixed expert (MOE) model in history
- Maidong Internet won the bid of Beijing life insurance
- Le module minidom écrit et analyse XML
- MongoDB聚合操作总结
- Arcgis 10.2.2 | arcgis license server无法启动的解决办法
- 更强的 JsonPath 兼容性及性能测试之2022版(Snack3,Fastjson2,jayway.jsonpath)
猜你喜欢

Analyzing the maker space contained in steam Education

巅峰不止,继续奋斗!城链科技数字峰会于重庆隆重举行

ArcGIS 10.2.2 | solution to the failure of ArcGIS license server to start

应用实践 | 蜀海供应链基于 Apache Doris 的数据中台建设

Methods of improving machine vision system

Keep on fighting! The city chain technology digital summit was grandly held in Chongqing

QT—绘制其他问题

SolidWorks工程图添加材料明细表的操作

创客思维在高等教育中的启迪作用

一文掌握数仓中auto analyze的使用
随机推荐
Cadeus has never stopped innovating. Decentralized edge rendering technology makes the metauniverse no longer far away
Minidom module writes and parses XML
【活动早知道】LiveVideoStack近期活动一览
解析steam教育中蕴含的众创空间
TCP三次握手,四次挥手,你真的了解吗?
Shutter WebView example
Analysis of maker education technology in the Internet Era
How to use concurrentlinkedqueue as a cache queue
Use of class methods and class variables
minidom 模块写入和解析 XML
Three or two things about the actual combat of OMS system
minidom 模塊寫入和解析 XML
Shutter textfield example
[wechat applet] collaborative work and release
Jerry's ad series MIDI function description [chapter]
每日一题-LeetCode1200-最小绝对差-数组-排序
什么是商业智能(BI),就看这篇文章足够了
el-tree结合el-table,树形添加修改操作
Super detailed tutorial, an introduction to istio Architecture Principle and practical application
Redis bloom filter