HDU 4618 Palindrome Sub-Array
来源:互联网 发布:上海聚到网络是培训吗 编辑:程序博客网 时间:2024/06/06 03:50
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4618
在n*m的矩阵中寻找一个L*L的子矩阵,使L最大,并且矩阵横竖都是回文的。
暴力出奇迹.
#include<stdio.h>#include<string.h>#include<map>#include<math.h>#include<algorithm>using namespace std;#define rep(i,s,t) for(int i=s;i<t;i++)int t,n,m;int s[301][301];inline bool ok(int x1,int y1,int x2,int y2){rep(i,x1,x2+1){int x=y1,y=y2;while(x<=y){if(s[i][x]!=s[i][y]) return 0;x++,y--;}}rep(i,y1,y2+1){int x=x1,y=x2;while(x<=y){if(s[x][i]!=s[y][i]) return 0;x++,y--;}}return 1;}inline bool dfs(int ans){rep(i,0,n) rep(j,0,m){int x=(i+ans-1),y=(j+ans-1);if(x>=0 && x<n && y>=0 && y<m){if(ok(i,j,x,y)) return 1;}}return 0;}int main(){scanf("%d",&t);while(t--){scanf("%d%d",&n,&m);rep(i,0,n) rep(j,0,m) scanf("%d",&s[i][j]);int ans=min(n,m);while(ans>1 && !dfs(ans)) ans--;printf("%d\n",ans);}return 0;}
0 0
- Hdu 4618 Palindrome Sub-Array
- hdu 4618 Palindrome Sub-Array
- HDU 4618 Palindrome Sub-Array
- Hdu 4618 Palindrome Sub-Array
- HDU-4618-Palindrome Sub-Array
- hdu 4618 Palindrome Sub-Array
- HDU 4618 Palindrome Sub-Array
- HDU 4618 Palindrome Sub-Array 解题报告
- hdu 4618——Palindrome Sub-Array
- HDU 4618 Palindrome Sub-Array (HASH + 枚举)
- hdu 4618 Palindrome Sub-Array(dp)
- 2013 多校第二场 hdu 4618 Palindrome Sub-Array
- hdu 4618 Palindrome Sub-Array 多校第二场
- HDU 4618 Palindrome Sub-Array(最大回文子矩阵)
- HDU 4618Palindrome Sub-Array(暴力枚举每一个正方形)
- HDU 4618 Palindrome Sub-Array(Manacher、二分)
- hdu4618 Palindrome Sub-Array
- hdu4618 Palindrome Sub-Array
- Ubuntu下配置NFS服务
- WAVE 文件格式分析
- 面试题strtoi实现(一)—— 函数的简单实现
- ubuntu 14.1下在线安装mysql
- Android:waiting for debugger,Eclipse DDMS error “Can't bind to local 8600 for debugger”
- HDU 4618 Palindrome Sub-Array
- Opencv 学习笔记(1)
- [LeetCode] Binary Tree Level Order Traversal II
- ubuntu中vi上下左右键显示字母的解决方法
- Action中result的各种转发类型
- POJ-1273
- 图像采样
- 最大连续乘积字串
- [POJ 2492] A Bug's Life [黑白染色]