|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.05.2014, 13:57 | #1 |
Новичок
Джуниор
Регистрация: 29.05.2014
Сообщений: 1
|
Pascal ABC. Установить на шахматной доске минимум ферзей (первоначально 8), чтобы каждое поле было под боем
Доска (8*8). Требуется, чтобы программа выводила первоначально матрицу с 8-ью ферзями, затем с 7-ью и так уменьшала количество ферзей до тех пор пока не станет невозможно расставить ферзей так, чтобы все поля оказались под боем.
У меня есть не до конца продуманный алгоритм (поэтому код не получается) 1)Задаем начальное количество ферзей n=8 2)с помощью random (возможно по-другому) заполняем матрицу ферзями а) проверяем, чтобы программа не пыталась поставить несколько ферзей на одну клетку 3)ферзь обозначим цифрой 2, поля, находящиеся под угрозой ферзя ((i+(ik-jk)=j) or (i+j=ik+jk) or (i=ik) or (j=jk)) обозначим 1 4)в переменной p проверяем все ли клетки под боем, если p=8*8, то выводим матрицу |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
проверить по позициям на шахматной доске бьёт ли ферзь заданное поле (Delphi) | kaznachey1993 | Помощь студентам | 19 | 29.05.2014 20:58 |
Ладья на шахматной доске C++ | VIGANTI | Помощь студентам | 2 | 09.10.2012 20:15 |
Про ферзей на abc Pascal | COBECTb | Помощь студентам | 2 | 19.01.2011 07:51 |
Какое наимньшее число ферзей можно расставить на доске так, чтобы они держали под бонм все свободные поля | alykaa | Помощь студентам | 4 | 01.12.2010 18:48 |
Си/Си++ Слоны на шахматной доске | Маришка_Курносова | Помощь студентам | 1 | 12.09.2010 01:02 |