Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Центр помощи > [prolog]Задача про шары |
Автор: Sheb 21.1.2007, 01:29 |
Заново создаю ... Ничего не хотел нарушать ,если по сути кто-нибудь поможет ,буду очень сильно благодарен и признателен ... 1)Добрый день ! Огромная просьба каким-либо образом в решении одной задачи ... Ко вторнику кровь из носа как нужна ! Если кто поможет ,буду очень сильно признателен !!! Условие задачи : Вдоль доски расположены лунки ,в каждой из которых лежит синий ,красный или белый шар ,за один ход можно менять местами два любых шара . Добиться того ,что сначала шли все красные шары , потом все белые,а потом все синие . Решить задачу за наименьшее число ходов . Нужно хронометрировать и анализировать решение задачи для стратегий поиска в глубину ,поиска в ширину и поска в глубину с итеративным погружением для нахождения кратчайшего пути .Проанализировать эффективность ,безопасность и полноту решения . Очень прошу ,друзья ...! 2)И еще один вопрос возник ... Вот в книге Братко обнаружил решение задачи "разбиения простого списка по признаку первый-второй " ... Если запускать эту программу ,то в первом списке ,где как раз находятся все "первые" выводится мусор . Второй же список правильный ... Не подскажете ,в чем ошибка ? Фрагмент программы на прологе : разбиениесписка( [ ], [ ], [ ]). % Разбивать нечего разбиениесписка( [X], [X], [ ]). % Разбиение одноэлементного списка разбиениесписка( [X, Y | Список], [Х | Список1], [Y | Список2]) :- разбиениесписка( Список, Список1, Список2). |
Автор: Artemios 23.1.2007, 01:19 | ||||||
Под задачу сортировки с этим условием подходит метод пузырьковой сортировки.
и делаем проверку:
А вот с этим:
я ничего не понял ![]() |
Автор: Sheb 23.1.2007, 01:49 |
Artemios, Спасибо ОГРОМНОЕ за задачу ,очень благодарен!!!!!!! Насчет хронометризации и анализа уточню у препода ,что он там имел в виду и отпишусь ![]() |