题目链接
关键是找到左上角和右下角的坐标,有了坐标的值算一下面积就可以了,不用存数组(y2-y1+1-2) x同理
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <iostream>
#include <cmath>
#include <vector>
#include <map>
#include <stack>
#include <queue>
using namespace std;
typedef long long ll;
const int MAX=0x3f3f3f3f;
const int N=1010;
int main(){
int n,a;
cin>>n;
int sx=MAX,sy=MAX,ex=-1,ey=-1;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>a;
if(a==0){
if(i<sx||j<sy){
sx=i;
sy=j;
}
if(i>ex||j>ey){
ex=i;
ey=j;
}
}
}
}
cout<<(ex-sx-1)*(ey-sy-1)<<endl;
}