K-Nice


Time Limit: 1 Second      Memory Limit: 32768 KB      Special Judge


This is a super simple problem. The description is simple, the solution is simple. If you believe so, just read it on. Or if you don't, just pretend that you can't see this one.

We say an element is inside a matrix if it has four neighboring elements in the matrix (Those at the corner have two and on the edge have three). An element inside a matrix is called
"nice" when its value equals the sum of its four neighbors. A matrix is called "k-nice" if and only if k of the elements inside the matrix are "nice".

Now given the size of the matrix and the value of k, you are to output any one of the "k-nice" matrix of the given size. It is guaranteed that there is always a solution
to every test case.

Input

The first line of the input contains an integer T (1 <= T <= 8500) followed by T test cases. Each case contains three integers nmk (2
<= nm <= 15, 0 <= k <= (n - 2) * (m - 2)) indicating the matrix size n * m and it the "nice"-degree k.

Output

For each test case, output a matrix with n lines each containing m elements separated by a space (no extra space at the end of the line). The absolute value of the elements
in the matrix should not be greater than 10000.

Sample Input

2
4 5 3
5 5 3

Sample Output

2 1 3 1 1
4 8 2 6 1
1 1 9 2 9
2 2 4 4 3
0 1 2 3 0
0 4 5 6 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <algorithm>
#include <math.h>
#include <stdio.h> using namespace std;
int n,m,k;
int a[20][20];
int dir[4][2]={{0,1},{0,-1},{1,0},{-1,0}};
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d%d%d",&n,&m,&k);
int p=1;int q=1;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
a[i][j]=1;
}
}
for(int i=1;i<=k;i++)
{
a[p][q]=0;
for(int k=0;k<4;k++)
{
a[p+dir[k][0]][q+dir[k][1]]=0;
}
if(q==m-2)
{
p++;
q=1;
}
else
{
q++;
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(j!=m-1)
printf("%d ",a[i][j]);
else
printf("%d\n",a[i][j]);
}
}
}
return 0;
}

最新文章

  1. AAU
  2. JVM 虚拟机 内存说明
  3. 在SQL SERVER中根据某字段分隔符将记录分成多条记录
  4. 4Web Service中的几个重要术语
  5. UIView中常见的方法总结
  6. Velocity知识点总结
  7. Ownership qualifiers of Objective-C: In Details
  8. 高级控件之Scrollview ( 滑动屏幕 ) 与 Imageview (滑动屏幕 切换图片)
  9. 安装ipython,使用scrapy shell来验证xpath选择的结果 | How to install iPython and how does it work with Scrapy Shell
  10. mysql原生语句基础知识
  11. 如何修改SnipeIT的部分设置
  12. Python内置函数(39)——locals
  13. web实现下拉列表多选加搜索
  14. kill方法
  15. Marathon自动扩缩容(marathon-lb-autoscale)
  16. cocoaPods 最新系统上的安装和基本使用图文笔记
  17. 【bzoj2961】 共点圆
  18. Centos6.9安装JDK1.8
  19. jquery函数写法
  20. hdu 4983 欧拉函数

热门文章

  1. Spring4 Web开发新特性
  2. MySQL数据库行去重复
  3. Windows下基于eclipse的Storm应用开发与调试
  4. myeclipse 配置
  5. jQuery为动态生成的select元素添加事件的方法
  6. 关于NaN(Not a Number)的问题
  7. [转]五分钟看懂UML类图与类的关系详解
  8. docker学习-docker仓库
  9. JVM优化(一)-- 入门
  10. CentOs 设置静态IP 方法[测试没问题]