#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(k<n*m/4-n-m)
{
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);
}
else if(k==n*m/4-n-m)
{
int iii=ii,jjj=jj;
if(iii-i>jjj-j)
iii-=2;
else
jjj-=2;
for(int l=i+1;l<=i+5;++l)
a[l][j]=a[l][jjj]=k;
for(int c=j+1;c<=j+5;++c)
a[i][c]=a[iii][c]=k;
--k;
}
else if(k<n*m/4)
{
int iii=ii,jjj=jj;
while((n*m-(k-1)*4)!=(iii-i)*2+(jjj-j)*2)
{
if(iii-i>jjj-j)
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
Main.cpp: In function 'int main()':
Main.cpp:70:44: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
70 | 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))
| ~~~~^~~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
16 ms |
856 KB |
Correct! Azusa and Laika like the garden :) |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
16 ms |
856 KB |
Correct! Azusa and Laika like the garden :) |
2 |
Correct |
8 ms |
604 KB |
Correct! Azusa and Laika like the garden :) |
3 |
Correct |
10 ms |
604 KB |
Correct! Azusa and Laika like the garden :) |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
16 ms |
856 KB |
Correct! Azusa and Laika like the garden :) |
2 |
Correct |
8 ms |
604 KB |
Correct! Azusa and Laika like the garden :) |
3 |
Correct |
10 ms |
604 KB |
Correct! Azusa and Laika like the garden :) |
4 |
Execution timed out |
725 ms |
432 KB |
Time limit exceeded |
5 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
747 ms |
348 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1025 ms |
440 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
16 ms |
856 KB |
Correct! Azusa and Laika like the garden :) |
2 |
Correct |
8 ms |
604 KB |
Correct! Azusa and Laika like the garden :) |
3 |
Correct |
10 ms |
604 KB |
Correct! Azusa and Laika like the garden :) |
4 |
Execution timed out |
725 ms |
432 KB |
Time limit exceeded |
5 |
Halted |
0 ms |
0 KB |
- |