#2327. 立方体取数
立方体取数
Description
小明获得了一个巨大的立方体,共有N×N×N个小立方体组成。并给每个小立方体按照坐标从(0,0,0)到(N−1,N−1,N−1)编号。
现在小明写了如下伪代码程序,访问每个小立方体:
for sum = 0 .. 3*N-3: for x = 0 .. N-1: for y = 0 .. N-1: for z = 0 .. N-1: if x+y+z == sum: visit (x,y,z)
现在请你阅读这段代码,并预测一下,第x个访问到的立方体的三维坐标编号,注意x的编号也是从0开始。
Input Format
第一行两个整数N、x。Output Format
三个整数,中间用空格分开,表示第x个访问到的立方体的三维坐标编号。3 9
2 0 0
Hint
样例1解释
依次访问的顺序为:(0,0,0),(0,0,1),(0,1,0),(1,0,0),(0,0,2),(0,1,1),(0,2,0),(1,0,1),(1,1,0),(2,0,0),第9的访问到的点坐标为(2,0,0)。
数据范围
对于9%的数据,0<n≤100。
对于20%的数据,0<n≤250。
对于44%的数据,0<n≤500。
对于100%的数据,0<n≤106,0≤x≤N3−1。