#561. [ABC335B] Tetrahedral Number

[ABC335B] Tetrahedral Number

题目描述

给定一个整数 NN。请你按照字典序升序输出所有满足 x+y+zNx+y+z \leq N 的非负整数三元组 (x,y,z)(x, y, z)

对于非负整数三元组,字典序的定义如下:(x,y,z)(x, y, z) 字典序小于 (x,y,z)(x', y', z') 当且仅当满足以下任意一个条件:

  • x<xx < x'
  • x=xx = x'y<yy < y'
  • x=xx = x'y=yy = y'z<zz < z'

输入格式

输入从标准输入中给出,格式如下:

N

输出格式

按照字典序升序,每行输出一个满足条件的三元组 xxyyzz,中间以空格分隔。

样例

3
0 0 0
0 0 1
0 0 2
0 0 3
0 1 0
0 1 1
0 1 2
0 2 0
0 2 1
0 3 0
1 0 0
1 0 1
1 0 2
1 1 0
1 1 1
1 2 0
2 0 0
2 0 1
2 1 0
3 0 0
4
0 0 0
0 0 1
0 0 2
0 0 3
0 0 4
0 1 0
0 1 1
0 1 2
0 1 3
0 2 0
0 2 1
0 2 2
0 3 0
0 3 1
0 4 0
1 0 0
1 0 1
1 0 2
1 0 3
1 1 0
1 1 1
1 1 2
1 2 0
1 2 1
1 3 0
2 0 0
2 0 1
2 0 2
2 1 0
2 1 1
2 2 0
3 0 0
3 0 1
3 1 0
4 0 0

数据范围

  • 0N210 \leq N \leq 21
  • NN 为整数