这里是题干:https://www.luogu.org/problemnew/show/P1169
这是什么优化都没有的。。。六次方,爽的一批~~~
#include<iostream>
using namespace std;
int n,m,a[2100][2100],f[100][100][100][100];
bool judge(int i,int j,int x,int y)
{
for(int k=i;k<=x;++k){
for(int l=j;l<=y;++l){
if(((k-i)%2==0&&(l-j)%2==0)||((k-i)%2==1&&(l-j)%2==1)){
if(a[k][l]!=a[i][j])
return false;
}
if(((k-i)%2==0&&(l-j)%2==1)||((k-i)%2==1&&(l-j)%2==0)){
if(a[k][l]==a[i][j])
return false;
}
}
}
return true;
}
void prepare()
{
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
for(int x=i;x<=n;++x){
for(int y=j;y<=m;++y){
if(judge(i,j,x,y)){
f[i][j][x][y]=(x-i+1)*(y-j+1);
}
}
}
}
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
cin>>a[i][j];
}
}
prepare();
int ans1=0,ans2=0;
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
for(int x=i;x<=n;++x){
for(in