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

Задача с кубиками - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Эйлеров путь. Нужны комментарии кода http://www.cyberforum.ru/cpp-beginners/thread876509.html
Имеется правильный код решения задачи по поиску Эйлерова пути. Прошу прокомментировать важные аспекты кода, то есть, что выполняет тот или иной цикл и т.п. Заранее благодарен! Условие: Задан неориентированный мультиграф из N вершин и M ребер. Требуется построить в нем эйлеров путь. Входные данные В первой строке через пробел записано два натуральных числа N и M (1 <= N <= 50, 1 <= M <=...
C++ Возврат созданного в функции массива Верна ли следующая конструкция? void LoadArray(float* array, int & count) { int fcount = 30;//данная цифра подсчитывается при открытии файла. count = fcount; array = new float; // дальше загрузка данных в массив. http://www.cyberforum.ru/cpp-beginners/thread876501.html
C++ Проверьте задачку (написать функцию, которая возвращает индекс строки t к строке s, и "-1", если t в s не входит)
Написать функцию, которая возвращает индекс строки t к строке s, и "-1", если t в s не входит. Вот код программы: int stroka(char *s,char *t) {int k=0, n=0; while (*t++==*s++) { n=k; } if(*t++!=*s++) n=-1;
C++ комментарии к программе(желательно построчно)
#include <iostream> using namespace std; #include <iomanip> template <typename T> class Stack { private: T *stackPtr; int size; T top;
C++ Ошибка при создании 2-го элемента динамического списка http://www.cyberforum.ru/cpp-beginners/thread876489.html
НЕ могу понять откуда как исправить данную ошибка . Выскакивает как мне кажется при попытке динамически выделить память для указателя на структуру повторно Node *pv = new Node . Компилировал на DEV -C++ 4.9.9.2 Выбираю 5 пункт меню 1 раз проходит все нормально.Повторный выбор выскакивает ошибка : Инструкция по адресу 0х0... обратилось к памяти по адресу 0х00000048 Память не может быть written....
C++ Найти нужные числа из множества случайных Доброго времени суток! Ребята, помогите, пожалуйста, решить задачу) Изначально задание выглядит так: "Эксперимент состоит из подсчета числа бросков двух костей до выпадения двух шестерок. Провести статистическое исследование среднего числа необходимого для получения двух шестерок, повторяя эксперимент N раз." Последняя задача в курсовой работе (задачи типа "Введите 2 числа и найдите сумму"... подробнее

Показать сообщение отдельно
gazlan
2855 / 1803 / 271
Регистрация: 27.08.2010
Сообщений: 4,883
Записей в блоге: 1
24.05.2013, 22:04     Задача с кубиками
1. Граф или матрица - неважно, это эквивалентные представления.

2. Я думаю, тут возможны сокращающие перебор оптимизации.

Например, можно вычеркнуть все кубики, не содержащие ни одной буквы имени.
Для всех кубиков, содержащих только одну букву имени, их место уже определено.
Можно убедиться, что "разных" кубиков не меньше чем разных букв в имени.

Т.е., при "удачном" раскладе можно убедиться, что решения нет, без фактического решения задачи.
Ну и, любой отброшенный кубик сокращает число вариантов для перебора.

3. Мне кажется, удобнее работать с деревом выбора. На каждом i-ом шаге есть r[i] (r < N) вариантов выбора кубика (т.е. r[i] дочерних узлов). Строим дерево и рекурсивно обходим его в глубину.

Если на каком-то маршруте удалось построить имя - задача решена, выводим решение. Если нет - возвращаемся назад (по стеку) и пробуем следующий маршрут. Если обойдено все дерево и не удалось построить имя - нет решения.
 
Текущее время: 06:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru