This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "rect.h"
#include<bits/stdc++.h>
using namespace std;
bitset<85> ok[85][85][85];
bitset<2510>grid[2510];
int mnl,mnr,mxl,mxr,cnt;
void flod(int i,int j,int n,int m){
if(i<0||j<0||i>n+1||j>m+1)
return;
if(grid[i][j])
return;
grid[i][j]=1;
cnt++;
mnr=min(mnr,i);
mxr=max(mxr,i);
mnl=min(mnl,j);
mxl=max(mxl,j);
flod(i,j-1,n,m);
flod(i,j+1,n,m);
flod(i-1,j,n,m);
flod(i+1,j,n,m);
}
long long count_rectangles(std::vector<std::vector<int> > a) {
int n=a.size(),m=a[0].size();
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
grid[i][j]=a[i-1][j-1];
grid[0][0]=1;
int ans=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
mxr=mnr=i;
mnl=mxl=j;
cnt=0;
flod(i,j,n,m);
ans+=(mxr-mnr+1)*(mxl-mnl+1)==cnt;
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |