Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Задача Гаусса о ферзях

Автор:   •  Февраль 7, 2019  •  Лабораторная работа  •  821 Слов (4 Страниц)  •  376 Просмотры

Страница 1 из 4

`Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное

учреждение высшего образования

«Комсомольский-на-Амуре государственный

университет»

Факультет компьютерных технологий

Кафедра «МОПЭВМ»

Отчет

к лабораторной работе №2

Студент группы 5ВТб-1        К.А. Семенищев

Преподаватель        А.А. Хусаинов

2017

Задание:

Решить задачу Гаусса о ферзях с помощью нерекурсивного перебора с возвратом.

Задача Гаусса о ферзях.

Найти все расстановки восьми ферзей на шахматной доске, не угрожающих друг другу. К.Ф. Гаусс исследовал эту задачу в 1850 году

Исходный код программы:

Листинг 1.1 – Исходный код программы

#include 

#include 

using namespace std;

int x[9], a[9], b[16], c[16];

void try1(int i) {

        int j, p, q;

        for (j = 1; j <= 8; j++) {

                if (a[j] && b[i + j - 1] && c[j - i + 8]) {

                        x[i] = j;

                        a[j] = b[i + j - 1] = c[j - i + 8] = 0;

                        if (i < 8) try1(i + 1);

                        else {

                                for (q = 1; q <= 8; q++) {

                                        for (p = 1; p <= 8; p++) {

                                                if (x[p] == q) cout << " *";

                                                else cout << " X";

                                        }

                                        cout << "\n";

                                };

                                return;

                        }

                        a[j] = b[i + j - 1] = c[j - i + 8] = 1;

                }

        }

}

int main() {

        int i;

        for (i = 1; i <= 8; i++) a[i] = 1;

        for (i = 1; i <= 15; i++) b[i] = c[i] = 1;

        try1(1);

        system("pause");

}}

...

Скачать:   txt (3.2 Kb)   pdf (108.3 Kb)   docx (10.7 Kb)  
Продолжить читать еще 3 страниц(ы) »
Доступно только на Essays.club