K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

30 tháng 9 2025

Olm chào em, cảm ơn đánh giá của em về chất lượng bài giảng của Olm, cảm ơn em đã đồng hành cùng Olm trên hành trình tri thức. Chúc em học tập hiệu quả và vui vẻ cùng Olm em nhé!


7 tháng 10 2025

Ai hỏi

7 tháng 10 2025

rất bổ ích đối với em


7 tháng 10 2025

hay đấy rất bổ ích cô ạ




6 tháng 8 2023

Tham khảo:

Word là một trong những phần mềm soạn thảo văn bản phổ biến với nhiều người. Nhưng nhiều người vẫn chưa thực sự hiểu rõ về phần mềm này. Những điều cơ bản về Word mà bạn cần biết sẽ được bật mí trong bài viết sau. Cùng Điện máy XANH tìm hiểu thôi nào!

Microsoft Word là chương trình soạn thảo, xử lý văn bản phổ biến với tất cả mọi người dùng máy tính trên toàn thế giới, được phát triển bởi Microsoft và thuộc bộ ứng dụng Microsoft Office. 

Thông qua các công cụ định dạng Microsoft Word giúp bạn tạo ra các tài liệu có chất lượng chuyên nghiệp một cách hiệu quả. Bên cạnh đó, Word còn bao gồm các công cụ chỉnh sửa và sửa đổi giúp bạn có thể cộng tác với mọi người một cách dễ dàng.

9 tháng 10 2025

He

30 tháng 8

def solve_n_queens(N):

# Mảng đánh dấu các cột và đường chéo đã có quân Hậu

col = [False] * (N + 1)

diag1 = [False] * (2 * N + 1) # Đường chéo chính (i - j + N)

diag2 = [False] * (2 * N + 1) # Đường chéo phụ (i + j)

pos = [0] * (N + 1) # pos[i] = j: quân Hậu hàng i đặt tại cột j

solutions = []


def backtrack(i):

for j in range(1, N + 1):

if not col[j] and not diag1[i - j + N] and not diag2[i + j]:

# Đặt quân Hậu vào vị trí (i, j)

pos[i] = j

col[j] = diag1[i - j + N] = diag2[i + j] = True

if i == N:

# Đã đặt xong N quân Hậu

solutions.append(pos[1:].copy())

else:

backtrack(i + 1)

# Bỏ quân Hậu ra để thử vị trí khác (Quay lui)

col[j] = diag1[i - j + N] = diag2[i + j] = False


backtrack(1)

return solutions


# Main

if __name__ == "__main__":

N = int(input("Nhập N: "))

solutions = solve_n_queens(N)

if not solutions:

print(f"Không có cách đặt nào cho N = {N}")

else:

# a) Tìm MỘT cách đặt N quân Hậu

print(f"--- Câu a: Một cách đặt {N} quân Hậu ---")

print("Cột đặt quân Hậu từ hàng 1 đến hàng N:", solutions[0])

# b) Ghi TẤT CẢ các cách đặt vào tệp N_HAU.OUT

with open("N_HAU.OUT", "w", encoding="utf-8") as f:

f.write(f"Tổng số cách đặt: {len(solutions)}\n\n")

for idx, sol in enumerate(solutions, 1):

f.write(f"Cách {idx}: " + " ".join(map(str, sol)) + "\n")

print(f"\n--- Câu b: Đã ghi tất cả {len(solutions)} cách đặt vào tệp N_HAU.OUT ---")