I posted this in “Actionscript 1.0-2.0” but I feel it’s more appropriate here:
Imagine six squares touching in two rows (3x2) layout. Now let’s say I call the first square “0”, the second “1”, third “2” and so on going left to right, then onto the second row like so:
0 1 2
3 4 5
Here’s the puzzle: How many different ways can you move around this configuration without going back to the same square, and what are those configurations of numbers?
If I start at 0, I can move to 1,3 or 4. (NOTICE you can move diagonally!)
If I start at 1, I can move to 0,2,3,4,5
If I start at 2, I can move to 1,4,5
Here are some of the possibilities if I start from 0, the top-left square:
0143
01452
01425
015243
01542
01543
03124
03125
03145
03142
03152
03154
… and many more… 34 total if I start at 0, I believe.
I am trying to have an array store all the possible ways to go around a 3x2, grid, but would like to expand it to a 3x3, 4x4 or any other configuration of squares. My code right now doesn’t do anything really, because I’m not exactly sure how to go about solving this. Please share if you have ANY suggestions or ideas!
// These are the values where you can move to in a grid of 3x2. Example,
// starting at 0, you can go to either 1,3 or 4.
values = new Array(0, 1, 2, 3, 4, 5);
trace("length of values is:"+values.length);
possibilities = new Array([1, 3, 4], [0, 2, 3, 4, 5], [1, 4, 5], [0, 1, 4], [0, 1, 2, 3, 5], [1, 2, 4]);
//declaring new array, "sizes". I store the length of the sub sections in this array.
sizes = new Array();
for (var i = 0; i<possibilities.length; i++) {
sizes* = possibilities*.length;
}
trace(sizes);//output is 3,5,3,3,5,3
solutions1 = new Array();
counter = 0;
for (var j = 0; j<values.length; j++) {
//solutions2[j] = new Array(values.length);
for (var i = 0; i<sizes[j]; i++) {
trace("j is:"+j);
trace("i is:"+i);
trace("counter is:"+counter);
//trace([j]+" "+*);
trace("solutions are:"+" "+values[j]+","+possibilities[j]*);
solutions1[counter] = values[j]+"+"+possibilities[j]*;
//increase the counter for storing values in solutions 1 array
counter = counter+1;
//trace(solutions[j][counter]);
}
}
trace("solutions array1 is:"+solutions1);
trace("End");