Submission #1045413

#TimeUsernameProblemLanguageResultExecution timeMemory
1045413vjudge1Rectangles (IOI19_rect)C++17
13 / 100
390 ms441700 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...