103351: [Atcoder]ABC335 B - Tetrahedral Number

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:5 Solved:0

Description

Score : $150$ points

Problem Statement

You are given an integer $N$.

Print all triples of non-negative integers $(x,y,z)$ such that $x+y+z\leq N$ in ascending lexicographical order.

What is lexicographical order for non-negative integer triples?

A triple of non-negative integers $(x,y,z)$ is said to be lexicographically smaller than $(x',y',z')$ if and only if one of the following holds:

  • $x < x'$;
  • $x=x'$ and $y< y'$;
  • $x=x'$ and $y=y'$ and $z< z'$.

Constraints

  • $0 \leq N \leq 21$
  • $N$ is an integer.

Input

The input is given from Standard Input in the following format:

$N$

Output

Print all triples of non-negative integers $(x,y,z)$ such that $x+y+z\leq N$ in ascending lexicographical order, with $x,y,z$ separated by spaces, one triple per line.


Sample Input 1

3

Sample Output 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

Sample Input 2

4

Sample Output 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

Output

分数:$150$分

问题描述

你将得到一个整数$N$。

按字典序递增顺序打印出所有满足$x+y+z\leq N$的非负整数三元组$(x,y,z)$。

什么是非负整数三元组的字典序?

一个非负整数三元组$(x,y,z)$被认为是 字典序较小 的,当且仅当以下之一成立:

  • $x < x'$;
  • $x=x'$且$y< y'$;
  • $x=x'$且$y=y'$且$z< z'$。

限制条件

  • $0 \leq N \leq 21$
  • $N$是一个整数。

输入

输入以标准输入的形式给出,如下所示:

$N$

输出

按字典序递增顺序打印出所有满足$x+y+z\leq N$的非负整数三元组$(x,y,z)$,用空格分隔$x,y,z$,每行一个三元组。


样例输入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

HINT

从小到大输出符合要求的x、y、z

加入题单

算法标签: