// read rainboy's code
#include "treasure.h"
#include <algorithm>
#include <iostream>
using namespace std;
const int N = 100;
int aa[N][N];
void findTreasure(int n) {
int m = n / 2;
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++) {
int il, ir;
if (i < m)
il = i + 1, ir = n - 1;
else
il = 0, ir = i;
int jl, jr;
if (j < m)
jl = j + 1, jr = n - 1;
else
jl = 0, jr = j;
aa[i][j] = countTreasure(il + 1, jl + 1, ir + 1, jr + 1);
}
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
if (i < m && j < m)
aa[i][j] = aa[n - 1][n - 1] - aa[i][n - 1] - aa[n - 1][j] + aa[i][j];
else if (i < m)
aa[i][j] = aa[n - 1][j] - aa[i][j];
else if (j < m)
aa[i][j] = aa[i][n - 1] - aa[i][j];
for (int i = n - 1; i; i--)
for (int j = 0; j < n; j++)
aa[i][j] -= aa[i - 1][j];
for (int i = 0; i < n; i++)
for (int j = n - 1; j; j--)
aa[i][j] -= aa[i][j - 1];
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
if (aa[i][j])
Report(i + 1, j + 1);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |