Submission #856677

#TimeUsernameProblemLanguageResultExecution timeMemory
856677iulia_morariuGardening (RMI21_gardening)C++14
11 / 100
93 ms604 KiB
#include <bits/stdc++.h> using namespace std; int main(){ cin.tie(0);ios::sync_with_stdio(0); //1. int n, m, t, k; //2. cin >> t; //3. for(int ii = 0; ii < t; ii++){ cin >> n >> m >> k; if(n % 2 == 1 || m % 2 == 1){ cout << "NO" << endl; continue; } if(n == 2 && m == 2 && k == 1){ cout << "YES" << endl; cout << "1 1" << endl; cout << "1 1" << endl; continue; } if(n == 2 && m == 4 && k == 2){ cout << "YES" << endl; cout << "1 1 2 2" << endl; cout << "1 1 2 2" << endl; continue; } if(n == 4 && m == 2 && k == 2){ cout << "YES" << endl; cout << "1 1" << endl; cout << "1 1" << endl; cout << "2 2" << endl; cout << "2 2" << endl; continue; } if(n == 4 && m == 4 && k == 2){ cout << "YES" << endl; cout << "1 1 1 1" << endl; cout << "1 2 2 1" << endl; cout << "1 2 2 1" << endl; cout << "1 1 1 1" << endl; continue; } if(n == 4 && m == 4 && k == 4){ cout << "YES" << endl; cout << "1 1 2 2" << endl; cout << "1 1 2 2" << endl; cout << "3 3 4 4" << endl; cout << "3 3 4 4" << endl; continue; } if(n == 2 && m / 2 == k){ cout << "YES" << endl; int it = 0; for(int i = 0; i < m; i++){ if(i % 2 == 0) it++; cout << it << " "; } cout << endl; it = 0; for(int i = 0; i < m; i++){ if(i % 2 == 0) it++; cout << it << " "; } cout << endl; continue; } if(m <= 4 && n <= 4){ cout << "NO" << endl; continue; } if(n != 4){ cout << "NO" << endl; continue; } int v[n][m]; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++) v[i][j] = 0; } if(k == m){ int it = 0; for(int i = 0; i < m; i++){ if(i % 2 == 0) it++; v[0][i] = it; v[1][i] = it; v[2][i] = it + m / 2; v[3][i] = it + m / 2; } cout << "YES" << endl; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ cout << v[i][j] << " "; } cout << endl; } continue; } int m1 = m; int cate = INT_MAX; for(int it = 0; it <= k; it += 2){ if( (m1 - 2) / 2 + it + 1 == k ){ cate = it; break; } m1 -= 2; } if(cate == INT_MAX){ cout << "NO" << endl; continue; } //cout << "punem de la inceput " << cate << endl; int it = 0; if(cate > 0){ for(int i = 0; i < cate; i++){ if(i % 2 == 0) it++; v[0][i] = it; v[1][i] = it; } for(int i = 0; i < cate; i++){ if(i % 2 == 0) it++; v[2][i] = it; v[3][i] = it; } } it++; for(int i = cate; i < m; i++){ v[0][i] = it; v[3][i] = it; } v[1][cate] = it; v[2][cate] = it; v[1][m - 1] = it; v[2][m - 1] = it; for(int i = cate + 1; i < m - 1; i++){ //cout << "i = " << i << " it = " << it << endl; if( (i - (cate + 1)) % 2 == 0 ) it++; v[1][i] = it; v[2][i] = it; } bool ok = 1; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ int cnt = 0; if(i > 0 && v[i - 1][j] == v[i][j]) cnt++; if(i < n - 1 && v[i + 1][j] == v[i][j]) cnt++; if(j > 0 && v[i][j] == v[i][j - 1]) cnt++; if(j + 1 < m && v[i][j] == v[i][j + 1]) cnt++; if(cnt != 2 || v[i][j] > k){ ok = 0; } } } if(!ok){ cout << "NO" << endl; continue; } cout << "YES" << endl; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ cout << v[i][j] << " "; } cout << endl; } } 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...