![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
![]()
Приветствую.
Есть такой фигура: ![]() Необходимо определить максимально возможное количество разных путей из точки А в противоположную точку, перемещаясь по направлениям, указанными стрелочками. Фигура может иметь N ребер (в данном случаи N=3). Зная N нужно определить количество путей (для N=3 ответ 5) В первоначальном варианте задача предполагает решение с помощью рекурсии, но мне кажется должно быть математическое решение в виде формулы (функции). Мои рассуждения таковы: в данной задаче есть три вида точек 1. Точки, из которых можно двигаться только в одном направлении 2. Точки, из которых можно двигаться в двух направлениях 3. Точка, из который никуда нельзя двигаться (это самая последняя точка) Количество первых и вторых точек всегда известно и равно соответственно 2N и P - 2N - 1, где P количество всех точек, которое тоже легко посчитать, зная N. В случаи N=3, общее количество точек P=10, количество точек первого типа равно 6 и, соответственно, количество точек второго типа равно 3. Зная это, наверняка, можно вывести формулу, по которой можно посчитать максимальное количество путей, но у меня пока не получилось ![]() Есть у кого какие идеи?
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
![]() |
![]() |
![]() |
#2 | |
Очень суровый
Участник клуба
Регистрация: 17.12.2009
Сообщений: 1,988
|
![]() Цитата:
Строже задачу сформулировать нужно. Тут изображен Орграф, и он не имеет ребер, только дуги. Или имеются ввиду ребра в геометрическом смысле? Тогда как у Вас тут их только 3 штучки получилось? ![]() UPD: Понял что имели ввиду под словом ребра. Мне вот почему то кажется, что нужно выполнить преобразования орграфа и прийти к более простому виду, он есть. Например для N = 3: ![]() Этот тоже можно упростить. Сейчас нет времени больше думать, вечером освобожусь займусь ![]()
Ненавижу быть как все, но люблю, чтобы все были как я.
Последний раз редактировалось MyLastHit; 28.11.2011 в 12:53. |
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
че-то я сомневаюсь, что эти ряды можно посчитать без рекурсии.. хотя, хз )
![]()
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#4 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
![]()
Нарисовал вариант для N=4, так-же отметил три типа точек, которые описал в первом посте, соответственно P1, P2 и P3
З.Ы. Извиняюсь за качество, рисовал и фоткал на скорую руку
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Суммируй все направления
1. 1 2. 1 + 2 3. 1 + 2 + 1 + 2 (это мы добрались до вершины 4. 1 + 2 + 1 + 2 + 1 + 2 5. 1 + 2 + 1 + 2 + 1 + 2 + 1 + 2 6. 1 + 2 + 1 + 2 + 1 + 2 + 1 + 2 + 1 = 13, если я ничего не пропустил Надо номернуть точки, а то маршруты перед глазами разбегаются.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
![]()
Тупая индукция в помощь: посчитай вручную для N = 1, 2, 3, 4 и угадай закономерность.
Последний раз редактировалось ds.Dante; 28.11.2011 в 14:08. |
![]() |
![]() |
![]() |
#7 | |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
![]() Цитата:
N=1 - 1 N=2 - 2 N=3 - 5 N=4 - 10 (скорее всего) Закономерность не нашел ![]() Добавлено Для N=4 - 14
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Последний раз редактировалось Blade; 28.11.2011 в 14:56. |
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
> Закономерность не нашел
посмотрите на мой листик выше, там вроде всё просто (стрелочки -- операция сложения) Для N = 4 там 14 путей (N указаны в столбике слева, количество путей обведено кружком) (Сорри, просто не в плане поиска закономерности, а в плане алгоритма подсчёта вариантов ![]()
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
Последний раз редактировалось veniside; 28.11.2011 в 14:25. |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Здесь какая-то рекурсия. Я считал эмпирически - все варианты ветвления и будут решением задачи. В программу уложить на раз два - считай все стрелочки и добавь еще единицу или двойку (как коэффициент смещения)
![]()
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#10 |
Software Engineer
Участник клуба
Регистрация: 07.04.2007
Сообщений: 1,618
|
![]()
С рекурсией сделать не проблема, и алгоритм я напишу.
Просто мне интересно, можно ли вывести математическую формулу для решения, начал копать в сторону комбинаторики, пока не раскопал ![]()
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Математическая функция | angel5609 | Помощь студентам | 3 | 20.11.2011 02:13 |
Эк.-математическая задача | r_tem | Microsoft Office Excel | 2 | 01.06.2011 13:44 |
математическая постановка | rap1d188 | Помощь студентам | 2 | 06.06.2010 19:22 |
Цикл for в С++ - простая математическая задача | Blondy | Помощь студентам | 4 | 21.09.2009 19:47 |
Математическая формула | BangBangFM | Помощь студентам | 4 | 02.10.2008 17:57 |