Этот заказ уже выполнен на сервисе Автор24
На нашем сайте вы можете заказать учебную работу напрямую у любого из 72000 авторов, не переплачивая агентствам и другим посредникам. Ниже приведен пример уже выполненной работы нашими авторами!
Узнать цену на свою работу

Расставить на шахматной доске размера NxN M ферзей так, чтобы ни один ферзь не угрожал другому.

Номер заказа
111591
Создан
8 июля 2013
Выполнен
9 июля 2013
Стоимость работы
200
Помоги! Срочно выполнить работу по программированию. Есть буквально 1 день. Тема работы «Расставить на шахматной доске размера NxN M ферзей так, чтобы ни один ферзь не угрожал другому.».
Всего было
15 предложений
Заказчик выбрал автора
Этот заказ уже выполнен на сервисе Автор24
На нашем сайте вы можете заказать учебную работу напрямую у любого из 72000 авторов, не переплачивая агентствам и другим посредникам. Ниже приведен пример уже выполненной работы нашими авторами!
Узнать цену на свою Работу
Или вы можете купить эту работу...
Страниц: 9
Оригинальность: 72% (no etxt)
200
Не подошла
данная работа?
Вы можете заказать учебную работу
на любую интересующую вас тему
Заказать новую работу

1. Исходная постановка задачи.
Расставить на шахматной доске размера NxN M ферзей так, чтобы ни один ферзь не угрожал другому.
2. Анализ и пример решения задачи.

2.1. Анализ задачи.
Для решения задачи используем алгоритм перебора с возвратом (backtracking). Для осуществления перебора заметим, что каждый ферзь должен стоять на отдельной вертикали, горизонтали и диагонали.
2.2. Пример решения задачи.
Пусть дана шахматная доска 5х5. Одно из решений имеет вид:


*
*
*
*
*

3. Спецификация программы.

3.1. Исходные данные.

3.1.1. Исходные данные, их расположение.
В качестве исходных данных рассматриваем размерность N шахматной доски, вводимую пользователем.
3.1.2. Ограничения на исходные данные.
Размерность доски не должна быть 2х2 и 3х3.

3.2. Выходные данные.
В качест Показать все
Расставить на шахматной доске размера NxN M ферзей так, чтобы ни один ферзь не угрожал другому.
1. Исходная постановка задачи.
2. Анализ и пример решения задачи.
2.1. Анализ задачи.
2.2. Пример решения задачи.
3. Спецификация программы.
3.1. Исходные данные.
3.1.1. Исходные данные, их расположение.
3.1.2. Ограничения на исходные данные.
3.2. Выходные данные.
4. Структуры данных и алгоритмы.
4.1. Алгоритмы.
4.2.Модель структур данных.
5. Код программы
6. Вывод

лекции по СИАОД и все такое)
{$R *.dfm}
procedure TForm1.Build;
type tnvec=array of integer;
var a : tnvec;
function check(a:tnvec):boolean;
var i,j:integer;
begin
//result:=true; exit;
result:=false;
for i:=0 to n-1 do
for j:=0 to n-1 do
begin
if (a[i]=a[j])and(i<>j)and(a[i]<>0) then exit;
if ((a[i]+i)=(a[j]+j))and(i<>j)and(a[i]<>0)and(a[j]<>0) then exit;
if ((a[i]-i)=(a[j]-j))and(i<>j)and(a[i]<>0)and(a[j]<>0) then exit;
end;
result:=true;
end;
function build(a:tnvec):boolean;
var b :tnvec;
k,i :integer;
begin
k:=0; while (a[k]<>0)and(k<n)do inc(k);
SetLength(b,high(a)+1);
CopyMemory(@b[0],@a[0],k*sizeof(a[0]));
if (k>=n) then
begin
SetLength(variants,high(variants)+2);
FillChar(variants[high(variants)],sizeof Показать все
Автор24 - это фриланс-биржа. Все работы, представленные на сайте, загружены нашими пользователями, которые согласились с правилами размещения работ на ресурсе и обладают всеми необходимыми авторскими правами на данные работы. Скачивая работу вы соглашаетесь с тем что она не будет выдана за свою, а будет использована исключительно как пример или первоисточник с обязательной ссылкой на авторство работы. Если вы правообладатель и считаете что данная работа здесь размещена без вашего разрешения - пожалуйста, заполните форму и мы обязательно удалим ее с сайта. Заполнить форму
Оценим бесплатно
за 10 минут
Эта работа вам не подошла?
У наших авторов вы можете заказать любую учебную работу от 200 руб.
Оформите заказ и авторы начнут откликаться уже через 10 минут!
Заказать работу