4116: 所有的三元组
内存限制:1024 MB
时间限制:2.000 S
评测方式:文本比较
命题人:
提交:1
解决:1
题目描述
# Tetrahedral Number
## 题目描述
给定一个整数 $N$。
请按照字典序升序打印所有满足 $x + y + z ≤ N$ 的非负整数三元组 $(x, y, z)$。
一个非负整数三元组 $(x,y,z)$ 被称为**字典序小于** $(x',y',z')$,当且仅当以下条件之一成立:
1. $x < x'$;或者
2. $x = x'$ 且 $y < y'$;或者
3. $x = x'$ 且 $y = y'$ 且 $z < z'$。
这个定义描述了如何比较两个三元组的顺序。它首先比较第一个元素,如果相等则比较第二个元素,如果第二个元素也相等则比较第三个元素。这种比较方法类似于字典中单词的排序方式,因此被称为"字典序"。
输入
## 输入格式
输入$N$。
输出
## 输出格式
按字典序升序打印所有满足 $x + y + z ≤ N$ 的非负整数三元组 $(x, y, z)$,每个三元组占一行,$x$、$y$、$z$ 用空格分隔。
样例输入 复制
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
提示
## 输入输出样例
### 输入样例1
```
3
```
### 输出样例1
```
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
```
### 输入样例2
```
4
```
### 输出样例2
```
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
```
## 数据范围与提示
【数据范围】
- $0 ≤ N ≤ 21$
## 题目来源
ABC335B