# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
94873 | rhdmstjr | Treasure (different grader from official contest) (CEOI13_treasure2) | C++11 | 0 ms | 0 KiB |
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 "treasure.h"
#include <vector>
using namespace std;
#define MAX_N 104
int pSum[MAX_N][MAX_N]; // [1, 100]
bool isTreasure(int r, int c) {
return pSum[r][c] - pSum[r-1][c] - pSum[r][c-1] + pSum[r-1][c-1];
}
int memo[MAX_N][MAX_N] = {-1, };
int countTreasure(int r1, int c1, int r2, int c2) {
int &m = memo[]
}
int n;
void initPSum() {
// init pSum
// 일단은 한 방향 + 최적화 없이
pSum[n][n] = countTreasure(1, 1, n, n);
int half_boundary = (n + 1) / 2;
for(int i = 1; i < n; i++) {
if (half_boundary <= i ){
pSum[i][n] = countTreasure(1, 1, i, n);
pSum[n][i] = countTreasure(1, 1, n, i);
}