#P12758. [thupc 2025 final] trilink

[thupc 2025 final] trilink

Background

Special for algorithm lovers, ^_^

Description

给定正整数 $n, k$,在一个 $n \times n$ 的网格中将 $kn$ 个方格染成黑色,其余方格染成白色,要求满足:

  • 无连续三个同色格(水平或竖直方向):

    1. 不存在 $1\le i \le n, 1 \le j \le n-2$,使得 $(i,j),(i,j+1),(i,j+2)$ 均为黑色或均为白色;
    2. 不存在 $1\le i \le n-2, 1 \le j \le n$,使得 $(i,j),(i+1,j),(i+2,j)$ 均为黑色或均为白色。
  • 每列恰好 $k$ 个黑色格

  • 相邻列的黑格垂直位置差不超过 1: 记第 $j$ 列的黑色格坐标为 $(x_{1,j}, j), (x_{2,j}, j), \dots, (x_{k,j}, j)$,其中 $x_{1,j} < x_{2,j} < \dots < x_{k,j}$,那么 $\forall 1 \le i \le k, 1 \le j < n$,有 $|x_{i,j} - x_{i,j+1}| \le 1$。

需要给出一种合法的染色方案,或判断无解。

Format

Input

第一行一个正整数 $T$ $(1 \le T \le 500)$,表示测试数据组数。

每组数据一行两个正整数 $n, k$:

  • $4 \le n \le 1000$
  • $1 \le k \le n$

保证单个测试点中所有数据 $n^2$ 的和不超过 $10^6$。

Output

对于每组测试数据:

  • 若不存在合法方案,输出一行 No
  • 否则,输出 Yes,接着输出 $n$ 行,每行长度为 $n$,包含 #(黑色)或 .(白色)。

多种方案均可。

Samples

3
4 2
6 1
9 5
Yes
#..#
.##.
.##.
#..#
No
Yes
.#.#..##.
#.#.##..#
#.##..##.
.#..##.##
#..##.#.#
.##..#.#.
##.##.#.#
#.##.##..
.##.##.##

样例解释:

  • 第一组: 下图为一些不符合条件的错误示例:

    示例 1:左下角有连续三个白色格; 示例 2:黑格数量不正确; 示例 3:左上角有连续三个黑色格; 示例 4:第三、四列的第二个黑格行坐标差大于 1。

  • 第二组:无解。

  • 第三组: 不同方位的黑色格用不同颜色标注,可见方案合法: