no there's no such condition that allows you move only oe or only two you can use both of them
If you reread the post, I account for all possible moves either taking 1 step or 2 steps. I did make one mistake in saying divide by 2, but you actually need to divide by k! to find the correct number of permutations where steps aren't reused. (n!/(n-k)!)/k!
In the 4 step example, the least amount of steps you can take is 2, for which there is only one viable solution: 2,4 add to legal struct.
you then find all solutions for taking 3 steps:
1, 2, 3 2, 3, 4
1, 2, 4
1, 3, 4
eliminate illegal moves and you are left with
1,2,4 2,3,4
1,3,4
add them to legal struct
Then all solutions for 4 stps
1,2,3,4
Eliminate illegal moves and you have
1,2,3,4
So you are left with
2,4
1,2,4
1,3,4
2,3,4
1,2,3,4
Only 5 possible solutions for a 4 step tower. It may actually be easier to just generate the entire (n!/(n-k)!) and eliminate redundant moves or back stepping in the elimination function.