BZOJ1567 [JSOI2008]Blue Mary的战役地图
来源:互联网 发布:java 新浪短网址生成 编辑:程序博客网 时间:2024/05/15 00:31
枚举答案然后hash判断即可
矩阵就把每一行接一起hash就行了
我用了双模双base,单模单base被卡了
#include<iostream>#include<cstring>#include<cstdlib>#include<cstdio>#include<ctime>#include<algorithm>#include<iomanip>#include<cmath>#include<vector>#include<set>#include<bitset>#include<queue>#include<stack>#include<map>using namespace std;#define MAXN 110#define MAXM 1010#define eps 1e-8#define ll long long#define INF 1000000000#define MOD 1000000007int n;int a[MAXN][MAXN];int b[MAXN][MAXN];map<ll,bool>h[4];ll bas[4]={233,131,233,131};ll mod[4]={1000000007,10000007,10000007,1000000007};ll Ha(int l,int r,int L,int R,int I){int i,j;ll re=0;for(i=l;i<=r;i++){for(j=L;j<=R;j++){re*=bas[I];re+=a[i][j];re%=mod[I];}}return re;}ll Hb(int l,int r,int L,int R,int I){int i,j;ll re=0;for(i=l;i<=r;i++){for(j=L;j<=R;j++){re*=bas[I];re+=b[i][j];re%=mod[I];}}return re;}bool jud(int x){int i,j,k;for(k=0;k<4;k++){h[k].clear();}for(i=x;i<=n;i++){for(j=x;j<=n;j++){for(k=0;k<4;k++){h[k][Ha(i-x+1,i,j-x+1,j,k)]=1;}}}for(i=x;i<=n;i++){for(j=x;j<=n;j++){bool flag=1;for(k=0;k<4;k++){if(!h[k][Hb(i-x+1,i,j-x+1,j,k)]){flag=0;break;}}if(flag){return 1;}}}return 0;}int main(){int i,j,k;scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n;j++){scanf("%d",&a[i][j]);}}for(i=1;i<=n;i++){for(j=1;j<=n;j++){scanf("%d",&b[i][j]);}}for(i=n;i;i--){if(jud(i)){printf("%d\n",i);return 0;}}printf("0\n");return 0;}/**/
0 0
- BZOJ1567 [JSOI2008]Blue Mary的战役地图
- bzoj1567: [JSOI2008]Blue Mary的战役地图
- bzoj1567: [JSOI2008]Blue Mary的战役地图
- 【bzoj1567】【jsoi2008】【二分+哈希】Blue Mary的战役地图
- bzoj1567[JSOI2008]Blue Mary的战役地图 二分+矩阵hash
- [BZOJ1567][JSOI2008]Blue Mary的战役地图(二分+矩阵hash)
- 1567: [JSOI2008]Blue Mary的战役地图
- 1567: [JSOI2008]Blue Mary的战役地图
- 1567: [JSOI2008]Blue Mary的战役地图
- BZOJ 1567 JSOI2008 Blue Mary的战役地图 Hash+二分
- 1567: [JSOI2008]Blue Mary的战役地图 二分+hash
- 【bzoj2967】【JSOI2008】【Blue Mary的战役地图】【hash】
- BZOJ 1567: [JSOI2008]Blue Mary的战役地图 Hash+set
- BZOJ[1567][JSOI2008]Blue Mary的战役地图 二分+Hash
- [BZOJ]1567: [JSOI2008]Blue Mary的战役地图 二分+hash
- bzoj 1567: [JSOI2008]Blue Mary的战役地图
- bzoj 1567: [JSOI2008]Blue Mary的战役地图
- bzoj 1567 JSOI2008]Blue Mary的战役地图【二维字符串哈希】【水题】
- init和destory方法
- 如何将二个list集合当中相同的元素进行删除。
- fatal error LNK1000: Internal error during IMAGE::BuildImage错误解决
- angular中$q.all用法
- 我的第一个spring程序
- BZOJ1567 [JSOI2008]Blue Mary的战役地图
- CentOS 配置Tomcat 7.0
- fread与fwrite
- Flume官方文档翻译之(二)
- MTK的Dialer模块的拨打电话
- oracle 数据库GREATEST /LEAST/COALESCE 函数用法
- 关闭数据库时hang住,日志无任何报错
- 常用Js
- linux下find(文件查找)命令的用法总结