A Queen on a chessboard can attack any piece in the same column, row or diagonal. The N-Queens problem is to place n queens on a n x n chessboard such that no two queens threaten each other. a) Implement a one-dimensional integer array of Queen positions for an 8x8 board where indices represent rows and the values represent columns. For example, a "safe" solution would be (3,6,2,7,1,4,0,5}

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
### N-Queens Problem

A Queen on a chessboard can attack any piece in the same column, row, or diagonal. The N-Queens problem is to place \( n \) queens on an \( n \times n \) chessboard so that no two queens threaten each other.

#### Task Description

**a)** Implement a one-dimensional integer array of Queen positions for an 8x8 board where indices represent rows and the values represent columns.

- For example, a “safe” solution would be \(\{3, 6, 2, 7, 1, 4, 0, 5\}\)

```
. . . Q . . . .
. . . . . . Q .
. . Q . . . . .
. . . . . Q . .
. Q . . . . . .
. . . . Q . . .
Q . . . . . . .
. . . . . . Q .
```

**b)** Implement a `print` function to display the board (refer to the output example).

**c)** Implement an `isSafe` function that:
1) Returns `false` if multiple queens share a column
2) Returns `false` if multiple queens share a diagonal
3) Returns `true` if all queens are safe

**d)** The program should display if the Queens are safe or not safe.

#### Example Output

```
Testing: 1 4 2 3 5 7 6 0

. Q . . . . . .
. . . . . Q . .
. . Q . . . . .
. . . . . . Q .
. . . Q . . . .
. . . . . . . Q
. . . . Q . . .
Q . . . . . . .

Queens are not safe!
```

---

This problem involves setting up a chessboard and determining whether the placement of queens is safe from attacks according to the rules of chess. The example output shows a placement of queens that results in an unsafe configuration.
Transcribed Image Text:### N-Queens Problem A Queen on a chessboard can attack any piece in the same column, row, or diagonal. The N-Queens problem is to place \( n \) queens on an \( n \times n \) chessboard so that no two queens threaten each other. #### Task Description **a)** Implement a one-dimensional integer array of Queen positions for an 8x8 board where indices represent rows and the values represent columns. - For example, a “safe” solution would be \(\{3, 6, 2, 7, 1, 4, 0, 5\}\) ``` . . . Q . . . . . . . . . . Q . . . Q . . . . . . . . . . Q . . . Q . . . . . . . . . . Q . . . Q . . . . . . . . . . . . . Q . ``` **b)** Implement a `print` function to display the board (refer to the output example). **c)** Implement an `isSafe` function that: 1) Returns `false` if multiple queens share a column 2) Returns `false` if multiple queens share a diagonal 3) Returns `true` if all queens are safe **d)** The program should display if the Queens are safe or not safe. #### Example Output ``` Testing: 1 4 2 3 5 7 6 0 . Q . . . . . . . . . . . Q . . . . Q . . . . . . . . . . . Q . . . . Q . . . . . . . . . . . Q . . . . Q . . . Q . . . . . . . Queens are not safe! ``` --- This problem involves setting up a chessboard and determining whether the placement of queens is safe from attacks according to the rules of chess. The example output shows a placement of queens that results in an unsafe configuration.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 6 images

Blurred answer
Knowledge Booster
Arrays
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education