Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Контейнер deque http://www.cyberforum.ru/cpp-beginners/thread1072429.html
Задание:(используя контейнер deque) ввести последовательность натуральных чисел,у конце которой 0.Не сохраняя всей последовательности в памяти, вывести порядковые номера крупнейших цифр...
C++ Каков смысл в "куче"? Всем привет! Прогуглил все вдоль и поперек, прочитал достаточно инфы, но так и не понял где, как и зачем мне может понадобиться создавать из последовательности элементов кучу... Понял что... http://www.cyberforum.ru/cpp-beginners/thread1072419.html
Разбить программу на функции C++
объясните, пожалуйста, как эту программу разбить на три функции: ввод, обработка, вывод. глобальные переменные использовать нельзя. в таком виде все работает как надо ) #include <iostream> using...
Вместо значений массива в cout выводит адреса C++
Помогите пожалуйста! Вместо значений массива в cout выводит адреса #include<iostream> #include<conio.h> #include <iomanip> #include <math.h> #include <fstream> /*void WriteComplex(char *...
C++ Вычислить площадь треугольника и вывести на экран http://www.cyberforum.ru/cpp-beginners/thread1072384.html
Директивы препроцессора и функции printf () и scanf () Спасайте товарищи,а то сессию завалю((
C++ Написать (переделать) программу с использованием ссылок в качестве параметров функций для нахождения минимального элемента из 3-х заданных Просто нахождение написал. Подскажите как использовать ссылки (&) в качестве параметров функций. #include "stdafx.h" #include "iostream" using namespace std; int _tmain(int argc, _TCHAR*... подробнее
Domonion
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 89
16.01.2014, 17:22  [ТС] 0

Восстановление предков обхода в ширину

16.01.2014, 17:22. Просмотров 1218. Ответов 3
Метки (Все метки)

Ответ

Цитата Сообщение от salam Посмотреть сообщение
традиционно заводим массив предков p[i][j] - клетка, из которой мы попали в клетку с координатами (i; j). очевидно, при bfs у каждой клетки может быть только один предок, так что все ок.
считается хорошей практикой в таких задачах (шахматных, например) ввиду того, что перемещения при обходах имеют нетривиальный характер (например, ход коня) заводить еще массив указателей на функции, которые будут осуществлять тот или иной ход.
восстановление ответа выглядит просто. например, как мы попали из (1; 1) в (i; j):
C++
1
2
3
4
5
6
p[1][1] = (-1; -1);
int ni = i, nj = j;
while(ni != -1 || nj != -1) {
   cout << (ni; nj) << endl;
   (ni; nj) <-- p[ni][nj];
}
C++
1
int ni = i, nj = j;
Что такое i и j.
C++
1
   cout << (ni; nj) << endl;
это ты что выводишь
C++
1
(ni; nj) <-- p[ni][nj];
что здесь происходит
C++
1
p[1][1] = (-1; -1);
и это какой вид данных, что такое заполнение.

Вернуться к обсуждению:
Восстановление предков обхода в ширину
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2014, 17:22

Алгоритм обхода графов в ширину
Написать программу на языке Паскаль алгоритма обхода графов в ширину и описание если не трудно

Реализация обхода графа в ширину
Здравствуйте, помогите пожалуйста перевести словесное описание на программный код

Программа обхода графа в ширину и глубину.
Уважаемые программисты. Нужно помощь. Необходим код программы(Delphi) которая построит древовидный...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru