I\'m trying to get an arrangement of tic tac toe boards. So I have the following code:
// 5 turns for x if x goes first
std::string moves = \"xxxxxoooo\";
d
std::next_permutation returns the next permutation in lexicographic order, and returns false
if the first permutation (in that order) is generated.
Since the string you start with ("xxxxxoooo"
) is actually the last permutation of that string's characters in lexicographic order, your loop stops immediately.
Therefore, you may try sorting moves
before starting to call next_permutation()
in a loop:
std::string moves = "xxxxxoooo";
sort(begin(moves), end(moves));
while (std::next_permutation(begin(moves), end(moves)))
{
std::cout << moves << std::endl;
}
Here is a live example.