HDU 2859 Phalanx 求最大的对称子矩阵的大小
来源:互联网 发布:麻将万能牌算法 编辑:程序博客网 时间:2024/04/29 03:20
Phalanx
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1050 Accepted Submission(s): 506
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
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
3abxcybzca4zabacbababbccacq0
Sample Output
33
Source
2009 Multi-University Training Contest 5 - Host by NUDT
Recommend
gaojie | We have carefully selected several similar problems for you: 2858 2861 2860 2855 2856
对于每个点,向它的上和右进行dp,如果全都满足,则为右上方的那个点加1,否则就是右上方那个点的值。
#include<iostream>#include<cstdio>#include<cstring>#include<cstdio>#include<math.h>#include<algorithm>#define esp 1e-8using namespace std;int dp[1005][1005];char s[1005][1005];int main(){ int n; int i,j; while(cin>>n,n) { for(i=1; i<=n; i++) { scanf("%s",s[i]+1); int l=strlen(s[j]); for(j=1; j<=n; j++) dp[i][j]=1; } for(i=1; i<=n; i++) for(j=1; j<=n; j++) { int op=dp[i-1][j+1]; int flag=0; int da; for(int k=1; k<=op; k++) { if(s[i-k][j]==s[i][j+k]) continue; else { flag=1; da=k; break; } } if(flag) dp[i][j]=da; else dp[i][j]=op+1; } int ans=0; for(i=1; i<=n; i++) for(j=1; j<=n; j++) ans=max(ans,dp[i][j]); cout<<ans<<endl; } return 0;}
0 0
- HDU 2859 Phalanx 求最大的对称子矩阵的大小
- (HDU 2859) Phalanx (求最大对称子矩阵) dp
- hdu 2859 Phalanx 最大对称矩阵
- 求最大子矩阵的大小 + 栈
- 求最大子矩阵的大小
- 求最大子矩阵的大小
- 求最大子矩阵的大小 (maximal-rectangle)
- 求最大子矩阵的大小(Maximal Rectangle)
- 栈和队列---求最大子矩阵的大小
- 求最大子矩阵的大小——C++实现
- 求对称子字符串的最大长度
- 求对称子字符串的最大长度
- 求二维矩阵的最大子矩阵
- 求一个矩阵的最大子矩阵
- 求最大矩阵的大小-------------->_<
- 求子矩阵的最大和
- 求最大子矩阵的和
- 栈和队列——求最大子矩阵的大小
- 机器学习资料
- 160个crackme 004 ajj.1
- 第十三周上机实践项目 项目1--分数类中的运算符重载
- 左右侧滑广告条
- Neo4j索引笔记之SchemaIndex和LegacyIndex
- HDU 2859 Phalanx 求最大的对称子矩阵的大小
- String类型转Base64编码
- 签名窗口的英文翻译
- 在千峰的学习--Android第一阶段
- PRML 第二章 狄利克雷分布
- Android 通过命令行启动Activity
- linux下mysql的编译安装和my.cnf配置文件详解
- [Leetcode]217. Contains Duplicate
- 基于回调事件的传播