Câu hỏi:
12/07/2024 212Đọc, quan sát, trao đổi và thảo luận về bài toán xếp Hậu tổng quát và cách tiếp cận quay lui để giải bài toán.
Sách mới 2k7: Tổng ôn Toán, Lí, Hóa, Văn, Sử, Địa…. kỳ thi tốt nghiệp THPT Quốc gia 2025, đánh giá năng lực (chỉ từ 110k).
Quảng cáo
Trả lời:
Trong quá trình quay lui, ta sử dụng một mảng để lưu vị trí của các quân hậu đã đặt. Mỗi lần thêm một quân hậu mới, ta kiểm tra xem nó có đặt được ở vị trí đó không bằng cách kiểm tra xem quân hậu mới đó có trùng hàng, cột hay đường chéo với bất kỳ quân hậu nào đã đặt trước đó không.
Nếu quân hậu mới đó không thể đặt được ở vị trí đó, ta quay lại đặt lại quân hậu trước đó tại một vị trí khác và tiếp tục thử các vị trí khác cho đến khi tìm được vị trí thích hợp.
Với phương pháp này, ta sẽ duyệt qua tất cả các trường hợp có thể có và đưa ra được kết quả đúng của bài toán.
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Trên bàn cờ vua chúng ta đều biết Hậu là quân cờ mạnh nhất vì nó có thể di chuyển theo tất cả các hướng ngang, dọc và chéo. Một bài toán vui rất nổi tiếng là tìm cách sắp xếp 8 quân Hậu trên bàn cờ sao cho không quân Hậu nào khống chế con nào. Em hãy thử tìm một cách xếp quân Hậu khác với cách xếp như hình sau:
Bài toán tìm tất cả các cách xếp 8 quân Hậu trên bàn cờ vua sao cho các quân Hậu không khống chế lẫn nhau được gọi là bài toán xếp Hậu (n-Queen Problem). Bài toán này được nhà bác học Đức Carl Friedrich Gauss nghiên cứu từ 4 những năm 1850. Bài toán đã được mở rộng trên bàn cờ kích thước bất kì và vẫn đang được tiếp tục phát triển cho đến ngày nay.
Câu 2:
Gọi Q(n) là số các cách xếp n quân Hậu lên bàn cờ kích thước n x n sao cho các quân Hậu không khống chế nhau. Sử dụng thuật toán đã được học, em hãy viết chương trình tính các giá trị Q(n) với n = 4, 5, 6, 7, 8, 9, 10.
Câu 3:
Hãy tìm bằng tay (không cần máy tính) cả hai phương án của bài toán xếp Hậu với n = 4.
Câu 6:
Đọc, quan sát, trao đổi và thảo luận về thuật toán và thiết lập chương trình hoàn chỉnh giải bài toán.
15 câu Trắc nghiệm Tin học 11 KNTT Tin học ứng dụng Bài 11: Cơ sở dữ liệu có đáp án
15 câu Trắc nghiệm Tin học 11 KNTT Tin học ứng dụng Bài 10: Lưu trữ dữ liệu và khai thác thông tin phục vụ quản lí có đáp án
15 câu Trắc nghiệm Tin học 11 KNTT Tin học ứng dụng Bài 12: Hệ quản trị cơ sở dữ liệu và hệ cơ sở dữ liệu có đáp án
Đề thi cuối học kì 1 Tin học 11 Kết nối trí thức có đáp án (Đề 3)
15 câu Trắc nghiệm Tin học 11 KNTT Tin học ứng dụng Bài 13: Cơ sở dữ liệu quan hệ có đáp án
Đề thi cuối học kì 1 Tin học 11 Kết nối trí thức có đáp án (Đề 1)
15 câu Trắc nghiệm Tin học 11 KNTT Tin học ứng dụng Bài 14: SQL – Ngôn ngữ truy vấn có cấu trúc có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Tin học ứng dụng Bài 1: Bài toán quản lý và cơ sở dữ liệu có đáp án
về câu hỏi!