제출 #1211556

#제출 시각아이디문제언어결과실행 시간메모리
1211556Muhammad_AneeqGardening (RMI21_gardening)C++20
5 / 100
43 ms832 KiB
#include <iostream>
using namespace std;

inline void solve()
{
	int n,m,k;
	cin>>n>>m>>k;
	int ans[n][m]={};
	if (n%2!=m%2)
	{
		cout<<"NO\n";
		return;
	}
	if (n%2)
	{
		cout<<"NO\n";return;
	}
	for (int i=0;i<=k;i++)
	{
		int m1=m-2*i,n1=n-2*i;
		if (min(m1,n1)<1)
			break;
		if (m1%2==0&&n1%2==0)
		{
			int z=m1*n1;
			if (z/4==k-i)
			{
				cout<<"YES\n";
				for (int j=1;j<=i;j++)
				{
					for (int l=j-1;l<=n-j;l++)
					{
						ans[l][j-1]=j;
						ans[l][m-j]=j;
					}				
					for (int l=j-1;l<=m-j;l++)
					{
						ans[j-1][l]=j;
						ans[n-j][l]=j;
					}
				}
				int cur=i+1;
				for (int j=i;j<n-i;j+=2)
				{
					for (int l=i;l<m-i;l+=2)
					{
						ans[j][l]=ans[j+1][l]=ans[j][l+1]=ans[j+1][l+1]=cur;
						cur++;
					}
				}
				for (int l=0;l<n;l++)
				{
					for (int j=0;j<m;j++)
						cout<<ans[l][j]<<' ';
					cout<<endl;
				}
				return;
			}
		}
	}
	cout<<"NO\n";
}
signed main()
{
    ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
    int t=1;
    cin>>t;
    for (int i=1;i<=t;i++)
    {
        solve();
    }
}
#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...