标签:了解 output hint 星际 get main 32位 out tput
样例解释:
子矩阵:
5 6
8 9
为两个地图的最大公共矩阵
约定:
n<=50
题目大意:求两个矩形的最大公共子正方形的边长
题解:O(n^7)暴力...从大到小枚举边长
代码:
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int n; int a[55][55],b[55][55]; inline int read(){ char ch=getchar();int x=0,f=1; for(;!isdigit(ch);ch=getchar())if(ch==‘-‘)f=-1; for(;isdigit(ch);ch=getchar())x=x*10+ch-‘0‘; return x*f; } int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) a[i][j]=read(); for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) b[i][j]=read(); for(int i=n;i>=1;i--){ for(int k=1;k<=n-i+1;k++){ for(int p=1;p<=n-i+1;p++){ for(int q=1;q<=n-i+1;q++){ for(int y=1;y<=n-i+1;y++){ bool flag=true; for(int j=0;j<i;j++){ for(int l=0;l<i;l++){ if(a[k+j][p+l]!=b[q+j][y+l]){ flag=false; break; } } if(flag==false)break; } if(flag){ printf("%d\n",i); return 0; } } } } } } return 0; }
BZOJ 1567: [JSOI2008]Blue Mary的战役地图
标签:了解 output hint 星际 get main 32位 out tput
原文地址:http://www.cnblogs.com/zzyh/p/7593691.html