Submission #859560

#TimeUsernameProblemLanguageResultExecution timeMemory
859560lucriGardening (RMI21_gardening)C++17
11 / 100
18 ms1112 KiB
#include <bits/stdc++.h> using namespace std; int test,n,m,k; vector<vector<int>>a; bool completeaza(int i,int j,int ii,int jj,int k) { int n=ii-i+1; int m=jj-j+1; if(n*m-(k-1)*4>(n-1)*2+(m-1)*2) { for(int l=i;l<=ii;++l) a[l][j]=a[l][jj]=k; for(int c=j;c<=jj;++c) a[i][c]=a[ii][c]=k; return completeaza(i+1,j+1,ii-1,jj-1,k-1); } if(k<n*m/4) { int iii=ii,jjj=jj; while((n*m-(k-1)*4)!=(iii-i)*2+(jjj-j)*2) { if(iii-2>i+1) iii-=2; else jjj-=2; } for(int l=i;l<=iii;++l) a[l][j]=a[l][jjj]=k; for(int c=j;c<=jjj;++c) a[i][c]=a[iii][c]=k; --k; } for(int l=i;l<=ii;++l) for(int c=j;c<=jj;++c) { if(a[l][c]==0) { a[l][c]=a[l][c+1]=a[l+1][c]=a[l+1][c+1]=k; --k; } } return true; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>test; while(test--) { cin>>n>>m>>k; a.clear(); a.resize(n+5); for(int i=1;i<=n;++i) a[i].resize(m+5); if(n%2==1||m%2==1||k==n*m/4-1||n==m&&k==n/2-1||k>n*m/4||k<max(n/2,m/2)) { cout<<"NO\n"; continue; } completeaza(1,1,n,m,k); cout<<"YES\n"; for(int i=1;i<=n;++i) { for(int j=1;j<=m;++j) { cout<<a[i][j]<<' '; a[i][j]=0; } cout<<'\n'; } } return 0; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:57:44: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   57 |         if(n%2==1||m%2==1||k==n*m/4-1||n==m&&k==n/2-1||k>n*m/4||k<max(n/2,m/2))
      |                                        ~~~~^~~~~~~~~~
#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...