#P13203. [ARC175E] Three View Drawing

[ARC175E] Three View Drawing

题目描述

将一个边长为 NN 的立方体,分割成 N3N^3 个边长为 11 的小立方体,并从中选出 KK 个。请构造一种选择方式,使得无论从立方体的三个互相垂直的方向中的哪一个方向观察,所选的 KK 个小立方体都能被全部看到,并且从每个方向看到的形状完全相同。

为了严格地形式化问题,将分割后的每个小立方体对应为一个整数三元组 (xi,yi,zi)(x_i, y_i, z_i)

请构造并输出满足以下条件的 KK 个整数三元组 (xi,yi,zi)(x_i, y_i, z_i)

  • 0xi,yi,zi<N0 \leq x_i, y_i, z_i < N
  • $\left\lbrace (x_i, y_i) \mid 1 \leq i \leq K \right\rbrace = \left\lbrace (y_i, z_i) \mid 1 \leq i \leq K \right\rbrace = \left\lbrace (z_i, x_i) \mid 1 \leq i \leq K \right\rbrace$
  • 上述集合包含 KK 个元素。也就是说,对于 iji \neq j,有 (xi,yi)(xj,yj)(x_i, y_i) \neq (x_j, y_j)

对于任意满足限制条件的输入,均保证存在满足条件的解。

输入格式

输入通过标准输入按以下格式给出。

NN KK

输出格式

请按以下格式输出答案。

x1x_1 y1y_1 z1z_1 x2x_2 y2y_2 z2z_2 \cdots xKx_K yKy_K zKz_K

如果有多个解,输出任意一个均可。

输入输出样例 #1

输入 #1

3 3

输出 #1

0 0 0
1 1 1
2 2 2

输入输出样例 #2

输入 #2

2 4

输出 #2

0 0 1
0 1 0
1 0 0
1 1 1

输入输出样例 #3

输入 #3

1 1

输出 #3

0 0 0

说明/提示

限制

  • 输入的数值均为整数
  • 1N5001 \leq N \leq 500
  • 1KN21 \leq K \leq N^2