Submission #1229632

#TimeUsernameProblemLanguageResultExecution timeMemory
1229632acoatoitgsGardening (RMI21_gardening)C++20
0 / 100
9 ms836 KiB
#include <bits/stdc++.h> #pragma GCC optimize("Ofast") using namespace std; #define ll long long #define pb push_back #define m_pi 2 * acos(0.0) #define all(a) (a).begin(), (a).end() #define LL_INF 0x3f3f3f3f3f3f3f3f #define INF 0x3f3f3f3f void solve(); constexpr bool isTc = 1; int main() { ios_base::sync_with_stdio(0); cin.tie(0); // freopen("input.txt", "r", stdin); // freopen("output.txt", "w", stdout); if (isTc) { int T; cin >> T; while (T--) { solve(); } } else solve(); return 0; } /*######################################*/ void solve() { ll N, M, K; cin >> N >> M >> K; if(N%2 != 0 || M %2 != 0) { cout << "NO\n"; return; } if(K == 1) { if(N != 2 || M != 2) { cout << "NO\n"; } else { cout << "YES\n1 1\n1 1\n"; } return; } if(K > N*M/4) { cout << "NO\n"; return; } cout << "YES\n"; vector<vector<ll>> mp(N, vector<ll>(M, -1)); auto place = [&](ll x, ll y, ll val) -> void { mp[x*2][y*2] = val; mp[x*2+1][y*2] = val; mp[x*2][y*2+1] = val; mp[x*2+1][y*2+1] = val; }; vector<pair<ll,ll>> li; ll cnt = 0; for(ll i = 0; i < N/2; i++) { for(ll k = 0; k < M/2; k++) { cnt++; place(i,k, ((i+k)%2)+1); if(cnt > 2) li.push_back({i, k}); } } for(ll i = 3; i <= K; i++) { assert(!li.empty()); place(li.back().first, li.back().second, i); li.pop_back(); } for(auto &i : mp) { for(auto k : i) cout << k << " "; cout << "\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...