Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Найти число элементов массива > T и их произведение. https://www.cyberforum.ru/ cpp-beginners/ thread424211.html
Недоработанная прога: #include <iostream.h> #include <conio.h> int Proiz_Kol(int,int,int**,int*); void main() { int **a, i, j, n, m, pr, kol; cout<<"\t Input N, M:";
C++ Перегрузка оператора "="
Дано такое задание Ввести строку символов S1. Программа должна содержать перегруженную операцию “=”, использование которой скопирует S1 в S2 при следующих условиях:Подстроку в квадратных “” скобках. вот пробовал написать, только чето не могу разобраться как тут правильно скопировать помогите кто) #include <iostream> #include <cstring> #include "conio.h" using namespace std; class...
C++ Измените программу с использованием циклических алгоритмов https://www.cyberforum.ru/ cpp-beginners/ thread424173.html
Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Работу программы проверить для a = 0,1; b = 1,0; h = 0,1; значение параметра n=10. #include <math.h> #include <stdio.h> #include <iostream.h> int main() { double a,b,h,n,S,Y,x; int i=1;
C++ Матрицы в С. Очень нужна ваша помощь Помогите решить хотя бы некоторые задачи, а я на их примере буду кумекать над остальными. Просто 11го экзамен по программированию, а я ни бум бум. Заранее огромное спасибо Выкладывайте сами задания, при этом не забывая, что На каждый вопрос создавайте по одной теме - это помогает избежать путаницы в ответах и облегчает поиск.Правила форума https://www.cyberforum.ru/ cpp-beginners/ thread424154.html
C++ Функции: подсчет годовой зарплаты работника
Задача: Известна ежемесячная заработная плата персонала предприятия в течение календарного года. Вывести фамилии тех сотрудников, у которых годовая заработная плата выше средней. Считать, что штат предприятия составляет 7 человек. Подсчет годовой зарплаты работника оформить в виде функции. как ее решить, не понимаю смысл этих функций
C++ Задачник по C++ со всеми уровнями сложности https://www.cyberforum.ru/ cpp-beginners/ thread424145.html
подскажите задачник по с++ со всеми уровнями сложности
C++ Нарисовать параллелепипед с помощью звездочек Подскажите как нарисовать параллелепипед с помощью звездочек и вывести его в консоль. Только простыми циклами без putchar и тому подобного. Я смог нарисовать лишь верхнюю и среднюю его половинки, а вот нижняя никак не хочет получаться. Когда рисую цепочку звездочек на боковой треугольник нижней части и пытаюсь после него продолжить фигуру прямоугольником, то в консоли получаю параллелограмм,... https://www.cyberforum.ru/ cpp-beginners/ thread424128.html C++ Инициализация n функций одновременно
Добрый день, меня интересует, как инициализировать 2 функции одновременно. В моем случае мне нужно, чтобы работала функция реакции на клавиатуру (причем при нажатии определенной клавиши, запускается еще одна функция, но функция реакции на клав. остается), и одновременно с ней работала любая другая функция..например, считающая факториал бесконечности. Вообще реально ли такое?
C++ Обработка двумерных массивов. Указатели. https://www.cyberforum.ru/ cpp-beginners/ thread424121.html
помогите сделать. буду благодарен с алгоритмами(блок-схемами)
C++ Удаление слова из строки https://www.cyberforum.ru/ cpp-beginners/ thread424119.html
Задание: Необходимо обработать текстовый файл. В первой строке файла указано общее число строк. Выделить память под массив указателей на строки, ввести текст построчно, динамически выделяя память для хранения каждой строки и записывая указатель в массив. Вывести на экран исходный текст. Выполнить один из вариантов обработки текста. Вариант: Удалить все вхождения заданного слова из текста.
Программирование циклов с неизвестным заранее числом повторений C++
вот еще лабораторная, как её делать ума не приложу, и одногруппники тоже сделать не могут. если кто сделает, пожалуйста добавьте алгоритмы, алгоритмы тоже нужны. Выкладывайте задания в теме. Не все из способных вам помочь захотят что-то там скачивать... Лабораторная работа №3 Программирование циклов с неизвестным заранее числом повторений Цель работы: освоение средств языка C++ для...
C++ Разбить квадратную матрицу на 4 части подскажите, как разбить квадратную матрицу размерностью n на 4 матрицы с размерностью n/2 https://www.cyberforum.ru/ cpp-beginners/ thread424104.html
Эксперт С++
4727 / 2548 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
08.01.2012, 23:23 0

Покрашенный граф - C++ - Ответ 2367647

08.01.2012, 23:23. Показов 1441. Ответов 5
Метки (Все метки)

Ответ

Niсe, У Вас реализацию поиска в ширину. Для этой задачи любой существующий алгоритм в оригинальном виде не подойдет. Нужно переделывать его под эту задачу.
Представьте себе вершину (допустим через нее проходит самый короткий путь) - в которую входят 3 дуги (по одной каждого цвета) и из которой выходят 3 дуги (по одной каждого цвета). Допустим Вы дошли быстрее всего в эту вершину через дугу цветом 1. Вы ее помечаете, и идете дальше по двум дугам: 2 и 3 цветов. Путь в эту же вершину через дугу 2 хоть и дольше чем через дугу 1, но он дает возможность идти дальше из этой вершины по дуге 1 и в итоге может оказаться что это и есть самый короткий путь.
Для этой задачи подойдет поиск в ширину, но:
- рассматривайте вершину не как единое целое, а как три разных составляющих (по цветам). Например вершину 4, рассматривайте как: (4,1), (4,2), (4,3). Здесь второе число считается номером цвета. Для каждой такой составляющей будет свое значение. Например: (4,1)=15, (4,2)=15, (4,3)=17. Это будет значить, что вершину 4 по дугам 1 и 2 цвета мы достигли за 15 шагов, а по дуге цветом 3, мы достигли за 17 шагов.
Изначально помещайте в очередь не просто вершину n-1, а вот так: (n-1,1), (n-1,2), (n-1, 3), поставив им метки 0 (будем считать, что вершину, из которой начинаем путь мы по всем вершинам достигли за 0 шагов).
Далее алгоритм такой:
Из очереди берете очередной элемент, например: (4,2). Смотрите смежные вершины с 4 вершиной, (например смежная вершина 3). Если смежная вершина соединена не дугой цветом 2 (например цветом 1), то: (3,1), если она не помечена, помечаете значением (4,2)+1 и заносите в очередь.
В конце этого алгоритма проверяете значения (0,1), (0,2), (0,3). Если все три значения не помечены, то ответ: -1. Если нет, то ответ минимальное значение из трех.

Вернуться к обсуждению:
Покрашенный граф C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.01.2012, 23:23
Готовые ответы и решения:

Считать граф из файла (граф задан матрицей) представить его в виде списка и записать список заново в файл
помогите очень срочно надо. считать граф из файла (граф задан матрицей) представить его в виде...

Добавление текста в "покрашенный" richTextBox
Задача: Нужно каждую секунду добавлять текст в richTextBox, но при этом нужно отрезать в самом...

Как преобразовать неориентированный граф в ориентированный граф из матричной записи
Есть ли какой нибудь алгоритм преобразования Неориентированный графа в ориентированный граф из...

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

5
08.01.2012, 23:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2012, 23:23
Помогаю со студенческими работами здесь

Ориентированный граф задан матрицей смежности. Нарисовать граф с наименьшим количеством пересечений
Ориентированный граф задан матрицей смежности. Нарисовать граф с наименьшим количеством...

Реализовать граф от 1 до 10: граф связный; -число от 1 до 10, могут повторяться
Реализовать граф от 1 до 10: граф связный; -число от 1 до 10, могут повторяться. Добавить рандом...

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

Граф
В городе N площадей. Любые две площади соединены между собой ровно одной дорогой с двусторонним...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru