Submission #42892

#TimeUsernameProblemLanguageResultExecution timeMemory
42892almasalmasCultivation (JOI17_cultivation)C++14
0 / 100
2079 ms262144 KiB
#include <bits/stdc++.h> using namespace std; vector <int> nw; vector <vector <int> > a; queue <vector <vector <int> > > q; int main () { ios_base::sync_with_stdio (0); cin.tie (0), cout.tie (0); int n, m; cin >> n >> m; nw.push_back (0); int t; cin >> t; for (int i = 0;i <= n;i ++) { a.push_back (nw); } for (int i = 0;i <= n;i ++) { for (int j = 1;j <= m;j ++) { a[i].push_back (0); } } for (int i = 1;i <= t;i ++) { int x, y; cin >> x >> y; a[x][y] = 1; } q.push (a); while (!q.empty ()) { vector <vector <int> > cur = q.front (); bool ok = 0; for (int i = 1;i <= n;i ++) { for (int j = 1;j <= m;j ++) { if (cur[i][j] == 0) ok = 1; } } q.pop (); if (!ok) { int mx = 0; for (int i = 0;i <= n;i ++) { for (int j = 0;j <= m;j ++) { mx = max (mx, cur[i][j] - 1); // cout << cur[i][j] - 1 << ' ' ; } //cout << endl; } cout << mx; return 0; } vector <vector <int> > nw = cur; for (int i = 1;i < n;i ++) { for (int j = 1;j <= m;j ++) { if (cur[i][j] == 0 && cur[i + 1][j]) { nw[i][j] = cur[i + 1][j] + 1; } } } q.push (nw); nw = cur; for (int i = 2;i <= n;i ++) { for (int j = 1;j <= m;j ++) { if (cur[i][j] == 0 && cur[i - 1][j]) { nw[i][j] = cur[i - 1][j] + 1; } } } q.push (nw); nw = cur; for (int i = 1;i <= n;i ++) { for (int j = 1;j < m;j ++) { if (cur[i][j] == 0 && cur[i][j + 1]) { nw[i][j] = cur[i][j + 1] + 1; } } } q.push (nw); nw = cur; for (int i = 1;i <= n;i ++) { for (int j = 2;j <= m;j ++) { if (cur[i][j] == 0 && cur[i][j - 1]) { nw[i][j] = cur[i][j - 1] + 1; } } } q.push (nw); nw = cur; } return 0; }
#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...