Hi, I need to implement a suitable data structure (in c++) for the following problem.

Each state has x,y,z coordinates and a value function (x^2+y^2+z^2)

Starting with the first state (x1,y1,z1) you can have a control vector (with 10 values 1,2,3...10) .You have to choose one value from the vecror and each desicion brings you a new state which has new unique coordinates and value function (function of the previous coordinates and the control value). And so on, each new state splits to 10 new states exc..

After implementing the data structure, there is a knows algorithm which finds the best route to choose (from the value function of all the states).

How can I implement the data structure?