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 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 ---")

cô có 32147SP nha cậu

Cô hiện tại đang có hơn 31000SP rùi!

21 tháng 12 2022

trắc nghiệm nè 

1d,2a,3a,4d,5d,6d

21 tháng 12 2022

c1 tự l tìm là ra l

1 tháng 3 2022

uses crt;

var st:array[1..100]of string;

a,b,c:array[1..100]of real;

i,n:integer;

max:real;

begin

clrscr;

readln(n);

for i:=1 to n do readln(st[i],a[i],b[i],c[i]);

max=(a[1]+b[1]+c[1])/3;

for i:=1 to n do 

if (max<(a[i]+b[i]+c[i])/3) then max:=(a[i]+b[i]+c[i])/3;

writeln(max:4:2);

readln;

end.

28 tháng 12 2020

Để dễ hiểu hơn bạn nhé vì ngôn ngữ máy rất phức tạp

4 tháng 8 2021

 Đầu tiên chúng ta phải hiểu rằng, ngôn ngữ máy là các dãy bit, mỗi dãy bit chỉ bao gồm các số 0 và 1. Ví dụ: 00111010

- Chúng ta có thể thấy việc viết chương trình bằng ngôn ngữ máy, chỉ gồm những số 0 và 1 rất khó khăn và mất nhiều thời gian, công sức, cực kì khó nhớ và khó sử dụng. Do đó, để thuận tiện hơn, đơn giản, dễ hiểu hơn, các ngôn ngữ lập trình được ra đời nhằm phục vụ những mục đích đó.

Kiểu này là thi òi:)

Mik thi như này nhìu nên bít:>

30 tháng 12 2021

a: 

Input: a=20

Output: a*a