Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/30: Рейтинг темы: голосов - 30, средняя оценка - 4.90
nixe

Поиск кратчайшего пути на клетчатом поле.

17.03.2011, 21:10. Показов 5801. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано клетчатое поле (допустим n x n). На некоторые клетки наступать нельзя. Дана начальная клетка, дана конечная клетка. Надо найти кратчайший путь из начальной клетки в конечную.

Просьба: подтолкните меня, пожалуйста, к оптимальному решению! Пожалуйста, не решайте за меня, я сама. И, по возможности, не говорите прямым текстом, задавайте лучше наводящие вопросы, чтобы я сама додумалась, как лучше.

Имеющиеся на данный момент идеи:
  • поле имплементовать двухразмерным массивом, где клетки, куда можно наступать будут 0, клетки куда нельзя (камни, лес, что угодно, если предполагать, что у нас какая-нибудь карта ^^) - 1. Или наоборот, не принципиально пока.
  • каждую клетку воспринять как вершину графа. Таким образом, вершины, находящиеся в клетках, куда нельзя наступать, будут оторваны от графа, а вершины, соответствующие "обычным" клеткам, будут соответственно иметь от 1 до 4 граней.
  • таким образом, вся задача конвертируется на задачу поиска кратчайшего пути в графе => да поможет мне Дийкстра.

Что смущает в собственой идее - с ростом размера поля размер матрицы, описывающей граф, будет расти до неописуемых размеров, ибо уже для поля 8х8 (64 вершины), надо массив 64х64 для описания графа. Я первокурсник, опыта с графами, кроме теоретического, - нет, поэтому такие цифры кажутся неоправданно большими.

Критикуйте, стебите, буду только рада. Ещё раз, пожалуйста, прошу, подсказывайте аккуратно! Выводы хочу сделать сама!
И заранее спасибо, тем, кто-таки возьмётся.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.03.2011, 21:10
Ответы с готовыми решениями:

Поиск кратчайшего пути
Как сделать что бы задача не считала стоимость проезда в обратную сторону ? #include <cstdlib> #include <iostream> ...

Поиск кратчайшего пути в графе
Задача: отыскать кратчайший путь между двумя заданными вершинами в произвольном ациклическом ориентированном графе с нагруженными ребрами. ...

Поиск кратчайшего пути (рекурсия)
Помогите пожалуйста. Пусть имеется n городов. Некоторые из них соединены дорогами известной длины. С помощью рекурсии найти Кратчайшие...

1
Эксперт С++
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
17.03.2011, 21:17
Я за вариант с графом, а насчет представления, для больших размеров, задавать граф матрицей - довольно дорого, при увеличении размеров будет оптимальнее перейти на представление графа в виде списка ребер или списков смежности, так расходы памяти будут меньше, да и обход графа поудобнее реализовывать.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.03.2011, 21:17
Помогаю со студенческими работами здесь

Поиск кратчайшего пути в графе
Добрый вечер! Помогите решить задание пожалуйста: написать программу, решающую задачу в соответствие с вариантом, и вывести результат...

Поиск кратчайшего пути на графе
Выдает ошибку Error 1 error C4996: 'itoa': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _itoa. See...

Нахождение кратчайшего пути, поиск с возвратом
Описание проблемы: Есть матрица MxN, на матрицы есть дом школьника и школа. Школьник может двигаться в 4 направления. На прохождения 1ой...

Поиск кратчайшего пути в матрице через рекурсию
Есть задача: найти кратчайший путь в матрице,представляющий из себя сумму значений ее элементов. Матрица размера 10х10. Я реализовал сам...

Поиск кратчайшего пути между заданными вершинами
Добрый день. Прошу помощи. Есть задача :"Даны два слова и словарь. Требуется построить цепочку слов от первого слова до второго, в котором...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru