#ATarc175e. [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

输入

3 3

输出

0 0 0
1 1 1
2 2 2

样例 2

输入

2 4

输出

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

样例 3

输入

1 1

输出

0 0 0

说明/提示

限制

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

由 ChatGPT 4.1 翻译