Submission #297043

#TimeUsernameProblemLanguageResultExecution timeMemory
297043daniel920712Rectangles (IOI19_rect)C++14
0 / 100
28 ms8704 KiB
#include "rect.h" #include <stdio.h> using namespace std; int can1[205][205][205]={0}; int can2[205][205][205]={0}; long long count_rectangles(vector< vector<int> > all) { int N,M,i,j,k,l,m,big=0,ans=0,ok; N=all.size(); M=all[0].size(); for(i=0;i<N;i++) { for(j=1;j<M;j++) { big=0; for(k=j;k<M-1;k++) { big=max(big,all[i][k]); if(big<all[i][j-1]&&big<all[i][k+1]) can1[i][j][k]=1; } } } for(i=0;i<M;i++) { for(j=1;j<N;j++) { big=0; for(k=j;k<N-1;k++) { big=max(big,all[k][i]); if(big<all[j-1][i]&&big<all[k+1][i]) can2[i][j][k]=1; } } } for(i=1;i<N-1;i++) { for(j=i;j<N-1;j++) { for(k=1;k<M-1;k++) { for(l=k;l<M-1;l++) { ok=1; for(m=i;m<=j;m++) ok=ok&&can1[i][k][l]; for(m=k;m<=l;m++) ok=ok&&can2[l][i][j]; if(ok) { //printf("%d %d %d %d\n",i,j,k,l); ans++; } } } } } 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...