Engineering
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.

answer
Answers: 3

Other questions on the subject: Engineering

image
Engineering, 04.07.2019 18:10, skpdancer1605
Ariver flows from north to south at 8 km/h. a boat is to cross this river from west to east at a speed of 20 km/h (speed of the boat with respect to the earth/ground). at what angle (in degrees) must the boat be pointed upstream such that it will proceed directly across the river (hint: find the speed of the boat with respect to water/river)? a 288 b. 21.8 c. 326 d. 30.2
Answers: 3
image
Engineering, 04.07.2019 18:20, samueltaye
Modern high speed trains do not have perpendicular expansion gaps where rails are joined end-to-end any more they are mostly welded together but what might happen if there was a spell of particularly hot weather that causes inspection of the tracks?
Answers: 1
image
Engineering, 04.07.2019 19:10, pjgolden04
How to increase the thermal officiency of an ideal simple rankino cycle? among these methods, which one is the best and why?
Answers: 2
image
Engineering, 04.07.2019 19:20, Katmcfee7681
Acommercial grade cubical freezer, 4 m on a side, has a composite wall consisting of an exterior sheet of 5.0-mm thick plain carbon steel (kst= 60.5 w/m k), an intermediate layer of 100-mm thick polyurethane insulation (kins 0.02 w/m k), and an inner sheet of 5.0- mm thick aluminium alloy (kal polyurethane insulation and both metallic sheets are each characterized by a thermal contact resistance of r 2.5 x 104 m2 k/w. (a) what is the steady-state cooling load that must be maintained by the refrigerator under conditions for which the outer and inner surface temperatures are 25°c and -5°c, respectively? (b) for power saving purpose, which wall material should be increased/reduced in. thickness in order to reduce 50% of the cooling load found in part (a)? redesign the thickness of the proposed material. 177 w/m-k). adhesive interfaces between the q=575.93 w
Answers: 2
Do you know the correct answer?
Knights tour problem without recursion in C++

8x8 board output that looks like:

Questions in other subjects: