N 차원 좌표의 집합이 제공됩니다. 예는 다음과 같습니다.
{2,3,4}
이것은 2x, 3y 및 4z를 가진 3 차원 배열로 생각할 수 있습니다. 차원의 수는 얼마든지있을 수 있습니다. 이 예에는 총 24 개의 노드가 있습니다. {x, y, z}를 사용하여 각 노드를 색인 할 수 있습니다. 5 번째 노드에 액세스하기 위해 제공된 표는 아래 표를 기준으로 {0, 1, 0}입니다.
## | 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
이 응용 프로그램의 목적은 노드 번호가 주어지면 인덱스를 결정하기 위해 거꾸로 작동하는 것입니다.
8 번째 노드의 "y"색인을 요청하면 프로그램은 "2"를 인쇄해야합니다.
다음 입력이 제공됩니다.
{2,3,4}|8|1
<List of Coordinates>|<Node>|<Index>
다음이 인쇄되어야합니다.
2
입력이 선택한 언어로 편리한 방식으로 제공되며 경계 검사가 필요하지 않다고 가정 할 수 있습니다. 예를 들어 제공된 선택 색인 (예에서 "y")이 제공된 좌표와 관련하여 유효하다고 가정 할 수 있습니다. 0 또는 1 기반 인덱싱을 사용할 수 있습니다. 이 예에서는 0을 기준으로합니다.
이것은이 질문의 반대 입니다. 다차원 배열의 인덱스