2 / 2 / 2
Регистрация: 01.04.2014
Сообщений: 92
|
||||||||||||||||
1 | ||||||||||||||||
Закрасить все клетки доски ходами коня09.01.2020, 23:02. Просмотров 1726. Ответов 4
Пытаюсь решить такую задачу, вот что набросал уже
Основная программа
Функция вычисления первого хода
Функция вычисления второго хода
Пример работы программы Input quad size: 5 Input the first position of horse by x: 1 Input the first position of horse by y: 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x: [2 3 3 3 3 3 3 3] y: [3 2 2 2 2 2 2 2] Operands to the || and && operators must be convertible to logical scalar values. Error in checksecondturn (line 3) if x+qx<=n && x+qx>=1 && y+qy<=n && y+qy>=1 && quadrat(x+qx,y+qy) == 0 Error in checkturn (line 6) weightofturn(1) = checksecondturn(quadrat,n,x,y,coordsofturnx(1),coordsofturny (1)); Error in quad (line 29) newcoord = checkturn(quadrat,n,newcoord.x,newcoord.y); Не могу понять 1) В чем суть выдаваемых ошибок? 2) Почему структура newcoord выводит 8 значений, когда прошёл только один цикл? Может еще какие логические ошибки, если кто увидит - буду благодарен.
0
|
|
09.01.2020, 23:02 | |
в клетке шахматной доски с координатами (х,у) стоит конь. Клетки, которые находятся под боем этого коня заполн
Определить, возможно ли с помощью фигуры коня обойти все 64 клетки поля |
|
851 / 621 / 289
Регистрация: 21.10.2012
Сообщений: 1,942
|
||||||||||||||||
10.01.2020, 16:29 | 2 | |||||||||||||||
![]() Решение
Inuxoid, исправил чуть-чуть:
Кликните здесь для просмотра всего текста
Кликните здесь для просмотра всего текста
Кликните здесь для просмотра всего текста
1
|
1054 / 644 / 177
Регистрация: 07.11.2019
Сообщений: 1,479
|
|
10.01.2020, 17:55 | 3 |
Я бы для начала создал граф (разреженая логическая матрица) возможных ходов с линейной индексацией.
Дальше задача поиска (гамильтонова?) пути на графе. Когда путь будет найден ind2sub переводим линейные координаты в двумерные. P.s. конь в шахматах это Knight, а не Horse В относительно новых версиях Matlab добавили средства работы с графами.
0
|
2 / 2 / 2
Регистрация: 01.04.2014
Сообщений: 92
|
|
10.01.2020, 20:58 [ТС] | 4 |
АлександрКом, спасибо, очень выручили. Может подскажете еще в какую сторону копать, чтобы сделать маломальскую графику, что-то вроде таблицы, где на месте нулей - белые клетки, а на месте единичек - закрашенные?
u235, да, с графами решение красивее моего, конечно, но графы я только на бумаге изучал, так что накодить с ними что-то было бы трудно) Добавлено через 1 час 10 минут Функция pcolor(quadrat) выполняет схожую задачу, но она дает на одну клетку меньше, чем используется в матрице. Добавлено через 26 минут heatmap(quadrat) выглядит куда лучше, только шкала мешается справа xd
0
|
851 / 621 / 289
Регистрация: 21.10.2012
Сообщений: 1,942
|
|
13.01.2020, 09:13 | 5 |
1
|
13.01.2020, 09:13 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Узнать все ли клетки шахматной доски одного цвета
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |