您的位置:首页 > 其它

ZOJ 3212(K)

2015-10-18 22:22 288 查看
#include<iostream>
#include<cstdio>
#include<string>
#include<vector>
#include<algorithm>
#include<cstring>
#include<queue>
#include<stack>
using namespace std;
#define N 100
int g

;
int main()
{
#ifdef CDZSC
freopen("i.txt", "r", stdin);
#endif
int t, n, m, k;
scanf("%d", &t);
while (t--)
{
memset(g, 0, sizeof(g));
scanf("%d%d%d", &m, &n, &k);
k = (n - 2)*(m - 2) - k;
for (int i = 0; i < m; i++)
{
for (int j = 1; j < n - 1; j++)
{
if (k)
{
g[i][j] = k--;
}
}
}
for (int i = 0; i < m; i++)
{
int f = 1;
for (int j = 0; j < n; j++)
{
if (f)
{
f = 0;
printf("%d", g[i][j]);
}
else
printf(" %d", g[i][j]);
}
printf("\n");
}
}
return 0;
}

这一题错了很多次,题意是给你n*m大小的矩阵,使里面有K个nice小矩阵,nice矩阵定义是上下左右的和等于中间的值,开始一看可能没有什么思路,但是只要看到样例2的输出他是给了我们提示,我们只要个构造K个全0矩阵就可以,这样就简单多了。那么问题来了,非0的地方用什么填呢?我开始全部用1填,但是错了,一直到比赛结束都没有找到,原来在角落那里会出现多余的nice矩阵,这样定义一个变量num=1,每填一个就增加1,就不会发生多余的矩阵了。

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 n, m, k (2
<= n, m <= 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


Author: ZHUANG, Junyuan
Source: The 6th Zhejiang Provincial Collegiate Programming Contest
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: