80分,求调
查看原帖
80分,求调
1121438
huangxinyou楼主2024/3/1 11:47
#include<bits/stdc++.h>
using namespace std;
#define FO(i,a,b) for(int i=a;i<=b;i++)
int an,am,bn,bm,a[55][55],b[55][55],ans,x[55][55];
void solve(int ai,int aj){FO(i,ai,an)FO(j,aj,am)x[i-ai+1][j-aj+1]=a[i][j];}
bool check(int n,int m){FO(i,1,n)FO(j,1,m)if(x[i][j]!=b[i][j])return 0;return 1;}
void solve(int ai,int aj,int bi,int bj){
	if(an-ai+1!=bi||am-aj+1!=bj)return;
	solve(ai,aj);
	if(check(bi,bj))ans=max(ans,bi*bj);
}
void revolve1(){
	int aa[55][55];
	FO(i,1,an)FO(j,1,am)aa[j][an-i+1]=a[i][j];
	swap(an,am);
	FO(i,1,an)FO(j,1,am)a[i][j]=aa[i][j];
}
void revolve2(){
	int bb[55][55];
	FO(i,1,bn)FO(j,1,bm)bb[j][bn-i+1]=b[i][j];
	swap(bn,bm);
	FO(i,1,bn)FO(j,1,bm)b[i][j]=bb[i][j];
}
signed main(){
	cin>>an>>am;
	FO(i,1,an)FO(j,1,am)cin>>a[i][j];
	cin>>bn>>bm;
	FO(i,1,bn)FO(j,1,bm)cin>>b[i][j];
	FO(_,0,3){
		revolve1();
		revolve2();
//		FO(__,0,3){
			FO(ai,1,an)FO(aj,1,am)FO(bi,1,bn)FO(bj,1,bm)solve(ai,aj,bi,bj);
//		}
	}
	cout<<ans;
	return 0;
}

#3 挂了 有人知道#3是啥吗

2024/3/1 11:47
加载中...