제출 #667887

#제출 시각아이디문제언어결과실행 시간메모리
667887600Mihnea보물 찾기 (CEOI13_treasure2)C++17
44 / 100
1 ms512 KiB
#include "treasure.h" #include <bits/stdc++.h> using namespace std; const int N = 100 + 7; int s[4][N][N], s2[N][N]; bool deja = 0; bool ok; int n; int get(int type, int r, int c) { if (type == 0) { if (r <= 0 || c <= 0) { return 0; } ok &= (s[type][r][c] != -1); return s[type][r][c]; } assert(0); } int what(int r, int c) { ok = 1; int sm; sm = get(0, r, c) - get(0, r - 1, c) - get(0, r, c - 1) + get(0, r - 1, c - 1); if (ok) { return sm; } assert(0); } void findTreasure(int nn) { n = nn; for (int k = 0; k < 4; k++) { for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { s[k][i][j] = -1; } } } assert(deja == 0); deja = 1; for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { s[0][i][j] = countTreasure(1, 1, i, j); } } for (int i = 1; i <= n; i++) { for (int j = 1; j <= n; j++) { if (what(i, j)) { Report(i, j); } } } }
#Verdict Execution timeMemoryGrader output
Fetching results...