btvn.vn
Tìm kiếm Đăng nhập

Đếm nghiệm và đổi chiều hiển thị Hậu

Lưu trên thiết bị này
Chuyên đề lựa chọn CS: Kĩ thuật duyệt · Chọn bài khác

Khi hàng 0 nằm dưới cùng

Nếu chỉ số hàng tăng từ dưới lên, hàng trên cùng phải được in trước với chỉ số n−1, tiếp theo n−2,…,0. Trong showQueen, dùng from_bottom=True để vòng ngoài đi theo range(n−1,−1,−1). Không cần sửa check hoặc trynext: phản chiếu theo chiều dọc vẫn giữ quan hệ cùng hàng và độ chênh hàng tuyệt đối. A=[1,3,0,2] vẫn ghi hàng của quân theo cột, nhưng khi hàng 0 nằm dưới thì dòng đầu in 0 1 0 0, thay vì 0 0 1 0. ```text python3 g11-cs-xep-hau.py 4 --hang-tu-duoi ``` Hai lần chạy vẫn có Q(4)=2. Cần so ma trận của từng phương án theo thứ tự dòng đảo ngược, không chỉ nhìn tổng số.

Chỉ đếm để tránh in quá nhiều bàn cờ

Đặt show_results=False vẫn tăng ncount tại mỗi lá, chỉ bỏ phần in bàn cờ. Trong tệp đầy đủ dùng: ```text python3 g11-cs-xep-hau.py 8 --chi-dem python3 g11-cs-xep-hau.py 13 --chi-dem ``` | n | Q(n) | |---|---| | 1 | 1 | | 2 | 0 | | 3 | 0 | | 4 | 2 | | 5 | 10 | | 6 | 4 | | 7 | 40 | | 8 | 92 | | 9 | 352 | | 10 | 724 | | 11 | 2680 | | 12 | 14200 | | 13 | 73712 | Các phương án được phân biệt theo dãy vị trí; không tự gộp các bàn cờ quay hoặc phản chiếu thành một. Q(n) không nhất thiết tăng ở mọi bước, chẳng hạn Q(5)>Q(6). Thời gian chạy tăng nhanh; chỉ đếm giúp giảm đầu ra nhưng không bỏ các nhánh tìm kiếm. Bản thực hành nhận n từ 1 đến 13, chỉ in bàn cờ khi n<=8; với n>8 phải dùng --chi-dem. Đây là giới hạn thực hành của tệp, không phải giới hạn bài toán.

Bài luyện

Muốn hàng 0 nằm dưới cùng khi in, cần đổi phần nào?
Chọn một đáp án

Bài luyện

Chạy n=8 với --chi-dem cần nhận kết quả nào?
Chọn một đáp án

Bài luyện

Từ bảng Q(5)=10, Q(6)=4, kết luận nào đúng?
Chọn một đáp án

Đang học