subject
Engineering, 25.02.2020 21:55 ashiteru123

Knights tour problem without recursion in C++

8x8 board output that looks like:

63, 20, 3, 24, 59, 36, 5, 26
2, 23, 64, 37, 4, 25, 58, 35
19, 62, 21, 50, 55, 60, 27, 6
22, 1, 54, 61, 38, 45, 34, 57
53, 18, 49, 44, 51, 56, 7, 28
12, 15, 52, 39, 46, 31, 42, 33
17, 48, 13, 10, 43, 40, 29, 8
14, 11, 16, 47, 30, 9, 32, 41
The board state at each instant is an 8×8 array of integers all of whose elements are initially set at −1. As you move to a square, you replace the corresponding array element by the sequence number of the move made (such as 1 for the square visited after the first move, 2 for the second move etc.). At each instant the board state with any other necessary information is pushed on to the stack. This is to recover from the case when the knight is trapped somewhere, with no unvisited square to move to, without finding the complete solution. In such a case, you back-track along the traversed path by popping the states from the stack, until you find a square from which you can make a valid move. While back-tracking you should also unmark the the squares (i. e., put −1 at the corresponding elements of the current board state) so that you can visit those squares again.

If, at a particular instant, the knight’s position on the board is given by (i, j), there may be at most eight possible moves for the knight which will move it to one of the squares (i − 2,j + 1),(i−1,j +2),(i+1,j +2),(i+2,j +1),(i+2,j −1),(i+1,j −2),(i−1,j −2),(i−2,j −1).

The summary of the project:

I) Implementation of a singly linked list (with associated operations) to store the user inputs concerning the initial positions of the knight.

(ii) Solving the knight’s tour problem for each initial position using a stack, backtracking, and using Warnsdoff’s heuristic for the first 32 moves. (Then backtracking for the rest)

The two components should work together. All the messages, and/or the transcript of a session demonstrating the successful operation of the complete program, should be saved in the output file.

The program should start with:

The project also requires the use of a singly linked list to store a number of choices of initial conditions for the knight. Before solving the problem for any initial condition, the program should prompt the user incrementally to enter the initial conditions, but should not ask for the number of initial positions that the user wishes to enter. At the end of this data entry mode, the program should display all the positions entered. It should then further prompt to see if the user wants to add, delete, or modify the list of initial positions.
For each initial position, the program would then solve the knight’s tour problem. The result in each case would be an 8 × 8 matrix holding the order of the visits. Store all the results in an array of these matrices.

ansver
Answers: 3

Other questions on the subject: Engineering

image
Engineering, 03.07.2019 23:20, abbz13
Two technicians are discussing the intake air temperature (iat) sensor. technician a says that the computer uses the iat sensor as a backup to the engine coolant temperature (ect) sensor. technician b says that the powertrain control module (pcm) will subtract the calculated amount of fuel if the air measures hot. who is correct
Answers: 3
image
Engineering, 04.07.2019 08:10, doggo242
Which of the following is an easy way to remember the modified “x” tire rotation? a. nondrive wheels straight, cross the drive wheels b. drive wheels straight, cross the nondrive wheels c. drive wheels crossed, nondrive wheels straight d. drive wheels crossed, nondrive wheels crossed
Answers: 1
image
Engineering, 04.07.2019 16:10, TheOriginalMeyah
An electrical motor raises a 50kg load at a construct velencity .calculate the power of the motor, if it takes 40sec to raise the load through a height of 24m(take g =9.8n/g)
Answers: 2
image
Engineering, 04.07.2019 18:10, dval1146
You are making beer. the first step is filling the glass carboy with the liquid wort. the internal diameter of the carboy is 15 in., and you wish to fill it up to a depth of 2 ft. if your wort is drawn from the kettle using a siphon process that flows at 3 gpm, how long will it take to fill?
Answers: 1