제출 #293665

#제출 시각아이디문제언어결과실행 시간메모리
293665BTheroCultivation (JOI17_cultivation)C++17
5 / 100
1535 ms384 KiB
// chrono::system_clock::now().time_since_epoch().count() #include<bits/stdc++.h> #define pb push_back #define eb emplace_back #define mp make_pair #define fi first #define se second #define all(x) (x).begin(), (x).end() #define debug(x) cerr << #x << " = " << x << endl; using namespace std; typedef long long ll; typedef pair<int, int> pii; int cnt[45][45]; pii arr[305]; int n, R, C; void solve() { scanf("%d %d", &R, &C); scanf("%d", &n); for (int i = 1; i <= n; ++i) { scanf("%d %d", &arr[i].fi, &arr[i].se); } int ans = R + C; for (int ax = 0; ax <= R; ++ax) { for (int bx = 0; ax + bx <= R; ++bx) { for (int ay = 0; ay <= C; ++ay) { for (int by = 0; ay + by <= C; ++by) { int cur = ax + bx + ay + by; if (cur >= ans) { continue; } for (int i = 1; i <= n; ++i) { int x1 = max(1, arr[i].fi - ax); int x2 = min(R, arr[i].fi + bx); int y1 = max(1, arr[i].se - ay); int y2 = min(C, arr[i].se + by); cnt[x1][y1]++; cnt[x2 + 1][y1]--; cnt[x1][y2 + 1]--; cnt[x2 + 1][y2 + 1]++; } bool ok = 1; for (int x = 1; x <= R; ++x) { for (int y = 1; y <= C; ++y) { cnt[x][y] += cnt[x - 1][y]; cnt[x][y] += cnt[x][y - 1]; cnt[x][y] -= cnt[x - 1][y - 1]; ok &= (cnt[x][y] > 0); } } for (int x = 1; x <= R; ++x) { for (int y = 1; y <= C; ++y) { cnt[x][y] = 0; } } if (ok) { ans = cur; } } } } } printf("%d\n", ans); } int main() { int tt = 1; while (tt--) { solve(); } return 0; }

컴파일 시 표준 에러 (stderr) 메시지

cultivation.cpp: In function 'void solve()':
cultivation.cpp:22:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   22 |   scanf("%d %d", &R, &C);
      |   ~~~~~^~~~~~~~~~~~~~~~~
cultivation.cpp:23:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   23 |   scanf("%d", &n);
      |   ~~~~~^~~~~~~~~~
cultivation.cpp:26:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   26 |     scanf("%d %d", &arr[i].fi, &arr[i].se);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...