제출 #1351370

#제출 시각아이디문제언어결과실행 시간메모리
1351370vahagngRectangles (IOI19_rect)C++20
37 / 100
5095 ms34964 KiB
#include "rect.h"
#include <bits/stdc++.h>
using namespace std;

const int N = 2.5e3 + 10;

int a[N][N], n, m;

bool check(int i1, int j1, int i2, int j2){
	for(int i = i1; i <= i2; i++){
		for(int j = j1; j <= j2; j++){
			if(a[i][j] >= a[i1-1][j] || a[i][j] >= a[i2 + 1][j] || a[i][j] >= a[i][j1 - 1] || a[i][j] >= a[i][j2 + 1]){
				return 0;
			}
		}
	}
	return 1;
}

long long count_rectangles(std::vector<std::vector<int> > A) {
	for(int i = 1; i <= A.size(); i++){
		n = A.size();
		m = A[i - 1].size();
		for(int j = 1; j <= A[i - 1].size(); j++){
			a[i][j] = A[i - 1][j - 1];
		}
	}
	cerr << n << ' ' << m << endl;
	int ans = 0;
	for(int i1 = 2; i1 < n; i1++){
		for(int j1 = 2; j1 < m; j1++){
			for(int i2 = i1; i2 < n; i2++){
				for(int j2 = j1; j2 < m; j2++){
					if(check(i1, j1, i2, j2)){
						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...