Une collection de coordonnées dimensionnelles N est fournie. Un exemple est ci-dessous:
{2,3,4}
Cela peut être considéré comme un tableau tridimensionnel avec 2x, 3y et 4z; il peut y avoir n'importe quel nombre de dimensions. Dans l'exemple, il y a 24 nœuds au total. Chaque nœud peut être indexé à l'aide de {x, y, z}. Pour accéder au 5e nœud, les indices fournis seraient {0, 1, 0} sur la base du tableau ci-dessous.
## | 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
Le but de cette application est de travailler en arrière pour déterminer un index si on lui donne un numéro de nœud.
Si on lui demande l'index "y" du 8ème nœud, le programme devrait afficher "2".
Avec l'entrée suivante fournie:
{2,3,4}|8|1
<List of Coordinates>|<Node>|<Index>
Les éléments suivants doivent être imprimés:
2
Vous pouvez supposer que l'entrée sera fournie d'une manière pratique dans la langue de votre choix et ne nécessite pas de vérification des limites. Par exemple, vous pouvez supposer que l'index de choix fourni ("y" dans l'exemple) est valide par rapport aux coordonnées fournies. Vous pouvez utiliser une indexation basée sur 0 ou 1; l'exemple suppose une base de 0.
C'est en quelque sorte l'inverse de cette question: Index d'un tableau multidimensionnel