比赛 |
EYOI与SBOI开学欢乐赛11th |
评测结果 |
ATTTTTTTTT |
题目名称 |
矩形地块(A Strip of Land) |
最终得分 |
10 |
用户昵称 |
qjx |
运行时间 |
27.000 s |
代码语言 |
C++ |
内存使用 |
6.87 MiB |
提交时间 |
2022-10-14 19:37:04 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int n,m,c,f[705][705],ans;
bool chick (int x1,int y1,int x2,int y2){
int mx=f[x1][y1],mi=f[x1][y1];
for (int i=x1;i<=x2;i++){
for (int j=y1;j<=y2;j++){
if (f[i][j]>mx){
mx=f[i][j];
if (mx-mi>c){
return 0;
}
}
if (f[i][j]<mi){
mi=f[i][j];
if (mx-mi>c){
return 0;
}
}
}
}
return 1;
}
int main (){
freopen ("land.in","r",stdin);
freopen ("land.out","w",stdout);
scanf ("%d%d%d",&m,&n,&c);
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++){
scanf ("%d",&f[i][j]);
}
}
for (int i1=1;i1<=n;i1++){
for (int j1=1;j1<=m;j1++){
for (int i2=i1;i2<=n;i2++){
for (int j2=j1;j2<=m;j2++){
int sum=(j2-j1+1)*(i2-i1+1);
if (sum<=ans){
continue;
}
if (j2-j1>100){
break;
}
if (chick(i1,j1,i2,j2)){
ans=sum;
}
}
}
}
}
printf ("%d",ans);
fclose (stdin);fclose (stdout);
return 0;
}