Submission #593505

#TimeUsernameProblemLanguageResultExecution timeMemory
593505pakhomoveeGardening (RMI21_gardening)C++17
5 / 100
64 ms716 KiB
#include <iostream> #include <vector> #include <algorithm> #include <random> #include <iomanip> #include <cassert> #include <deque> #include <functional> #include <set> #include <queue> #include <unordered_map> #include <map> #include <iomanip> #include <complex> using namespace std; int gcd(int a, int b) { if (!b) { return a; } return gcd(b, a % b); } int32_t main() { int t; cin >> t; while (t--) { int n, m, k; cin >> n >> m >> k; if (n % 2 == 1 || m % 2 == 1) { cout << "NO" << '\n'; } else { bool ok = false; for (int borderSize = 0; borderSize < min(n, m) / 2; ++borderSize) { if (borderSize + (n - 2 * borderSize) * (m - 2 * borderSize) / 4 == k) { vector<vector<int>> matr(n, vector<int> (m, 0)); for (int i = 0; i < borderSize; ++i) { for (int j = i; j < m - i; ++j) { matr[i][j] = i + 1; matr[n - i - 1][j] = i + 1; } for (int j = i; j < n - i; ++j) { matr[j][i] = i + 1; matr[j][m - i - 1] = i + 1; } } int c = borderSize; for (int x = borderSize; x < n - borderSize; x += 2) { for (int y = borderSize; y < m - borderSize; y += 2) { matr[x][y] = matr[x + 1][y] = matr[x][y + 1] = matr[x + 1][y + 1] = ++c; } } cout << "YES\n"; for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { cout << matr[i][j] << ' '; } cout << '\n'; } ok = true; break; } } if (!ok) { cout << "NO\n"; } } } }
#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...