Добавил:
при поддержке музыки группы Anacondaz Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБА2.docx
Скачиваний:
46
Добавлен:
24.05.2022
Размер:
261.02 Кб
Скачать

3.2.2 Результат работы программы

Рисунок 2 – Результат работы второй программы

3.3.1 Код программы

#coding: utf-8

board = [[0 for i in range (8)]for j in range(8)]

cnt = 0

def setQueen(i, j):

for x in range(8):

board[x][j] += 1

board[i][x] += 1

if 0 <= i + j - x < 8:

board[i + j - x][x] += 1

if 0 <= i - j + x < 8:

board[i - j + x][x] += 1

board[i][j] = -1

def removeQueen(i, j):

for x in range(8):

board[x][j] -= 1

board[i][x] -= 1

if 0 <= i + j - x < 8:

board[i + j - x][x] -= 1

if 0 <= i - j + x < 8:

board[i - j + x][x] -= 1

board[i][j] = 0

def printPosition():

global cnt

cnt += 1

abc = "abcdefgh"

ans = []

for i in range(8):

for j in range(8):

if board[i][j] == -1:

ans.append(abc[j] + str(i+1))

print(", ".join(ans))

def solve(i):

for j in range(8):

if board[i][j] == 0:

setQueen(i, j)

if i == 7:

printPosition()

else:

solve(i + 1)

removeQueen(i, j)

solve(0)

print(cnt, 'решения')

3.3.2 Результат работы программы

Рисунок 3 – Результат работы третьей программы

4 Вывод

В процессе выполнения данной лабораторной работы я изучила основы синтаксиса Python и различные методы сортировки массивов. А также сравнила время работы каждого метода сортировки со встроенной.

Соседние файлы в предмете Структуры и алгоритмы обработки данных