#P3667. 第1题-网格填数挑战

第1题-网格填数挑战

题目内容

给定整数 nmkn、m、k ,请你在 nnmm 列的网格中填入整数,使得:

  • 每个格子填入的整数在 11kk 之间;

  • 每个整数恰好出现 nmk\frac{n·m}{k} 次;

  • 对于每个 a[1,k]a∈[1,k] ,编号为 aa 的格子构成的连通块(基于四相邻)是连通的。

名词解释:四相邻:在这里,当 xx+yy==1丨x-x'丨+丨y-y'丨 == 1时,单元格 (x,y)(x,y)(x,y)(x',y') 被认为是相邻的。

输入描述

第一行输入一个整数 t1t104t(1≤t≤10^4) ,表示测试用例数。

接下来 tt 行,每行输入三个整数 nmkn、m、k ,满足(2nm2×105)(2≤n·m≤2×10^5)、且 nm=0(modn·m=0(mod k)k),保证所有测试用例中 nm3×105\sum n·m≤3×10^5

输出描述

对于每个测试用例,输出 nn 行,每行 mm 个整数,表示一种满足条件的网格填充方案。如果存在多个解决方案,你可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。

样例1

输入

2
2 2 2
2 4 2

输出

1 1
2 2
1 1 1 1
2 2 2 2

说明

  • 第一组输出中,1122 各出现 22 次,且编号相同的格子各自构成基于 44 邻接的连通块;

  • 第二组输出中,1122 各出现 44 次,且编号相同的格子各自构成基于 44 邻接的连通块。