Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Контейнер deque http://www.cyberforum.ru/cpp-beginners/thread1072429.html
Задание:(используя контейнер deque) ввести последовательность натуральных чисел,у конце которой 0.Не сохраняя всей последовательности в памяти, вывести порядковые номера крупнейших цифр последовательности в порядке возрастания их номеров. Я знаю,что особенность этого контейнера в том,что в нём можно получить доступ как с начала,тк и с конца.Но не знаю к чему это "у конце которой 0" (типа оно...
C++ Каков смысл в "куче"? Всем привет! Прогуглил все вдоль и поперек, прочитал достаточно инфы, но так и не понял где, как и зачем мне может понадобиться создавать из последовательности элементов кучу... Понял что сортируется последовательность элементов от большого к маленькому при помощи бинарного дерева, понял, что поиск максимального и минимального значения последовательности немножко эффективней, нежели средствами... http://www.cyberforum.ru/cpp-beginners/thread1072419.html
Разбить программу на функции C++
объясните, пожалуйста, как эту программу разбить на три функции: ввод, обработка, вывод. глобальные переменные использовать нельзя. в таком виде все работает как надо ) #include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); //Включаем русский язык int n; cout << "Введите размер массива: ";
Вместо значений массива в cout выводит адреса C++
Помогите пожалуйста! Вместо значений массива в cout выводит адреса #include<iostream> #include<conio.h> #include <iomanip> #include <math.h> #include <fstream> /*void WriteComplex(char * fname, Complex * buffer, int count); – функция записывает count элементов типа Complex из массива buffer в файл с именем fname; */
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* argv) { int a, b, c; cin >> a >> b >> c; подробнее

Показать сообщение отдельно
salam
157 / 138 / 11
Регистрация: 10.07.2012
Сообщений: 709
16.01.2014, 16:07     Восстановление предков обхода в ширину
традиционно заводим массив предков 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];
}
 
Текущее время: 10:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru