Uma coleção de coordenadas dimensionais em N é fornecida. Um exemplo está abaixo:
{2,3,4}
Isso pode ser pensado como uma matriz tridimensional com 2x, 3y e 4z; pode haver qualquer número de dimensões. No exemplo, existem 24 nós no total. Cada nó pode ser indexado usando {x, y, z}. Para acessar o quinto nó, os índices fornecidos seriam {0, 1, 0} com base na tabela abaixo.
## | x y z
0 1 2
-----------
0 | 0 0 0
1 | 0 0 1
2 | 0 0 2
3 | 0 0 3
4 | 0 1 0
5 | 0 1 1
6 | 0 1 2
7 | 0 1 3
8 | 0 2 0
...
23 | 1 2 3
O objetivo deste aplicativo é trabalhar para trás para determinar um índice se for fornecido um número de nó.
Se solicitado o índice "y" do 8º nó, o programa deve imprimir "2".
Com a seguinte entrada fornecida:
{2,3,4}|8|1
<List of Coordinates>|<Node>|<Index>
O seguinte deve ser impresso:
2
Você pode supor que a entrada será fornecida de alguma maneira conveniente no idioma de sua escolha e não requer verificação de limites. Por exemplo, você pode assumir que o índice de escolha fornecido ("y" no exemplo) é válido com relação às coordenadas fornecidas. Você pode usar a indexação baseada em 0 ou 1; o exemplo presume 0 com base.
Este é o inverso desta pergunta: Índice de uma matriz multidimensional