In The Sorting Game, you are given a sequence containing a permutation of the integers between 1 and n, inclusive. In one move, you can take any k consecutive elements of the sequence and reverse their order. The goal of the game is to sort the sequence in ascending order. You are given a vector <int> board describing the initial sequence. Return the fewest number of moves necessary to finish the game successfully, or -1 if it's impossible.
Definition
Class:
SortingGame
Method:
fewestMoves
Parameters:
vector <int>, int
Returns:
int
Method signature:
int fewestMoves(vector <int> board, int k)
(be sure your method is public)
Constraints
-
board will contain between 2 and 8 elements, inclusive.
-
Each integer between 1 and the size of board, inclusive, will appear in board exactly once.
-
k will be between 2 and the size of board, inclusive.
Examples
0)
{1,2,3}
3
Returns: 0
The sequence is already sorted, so we don't need any moves.
1)
{3,2,1}
3
Returns: 1
We can reverse the whole sequence with one move here.
Problem Statement In The Sorting Game, you are given a sequence containing a permutation of the integers between 1 andn, inclusive. In one move, you can take any k consecutive elements of