|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Недавно наткнулся на очень на мой взгляд задачку по комбинаторике. Так как в школе комбинаторику плохо преподавали в своё время, никак решить не могу. Второй день мучаюсь. Есть варианты. Буду безумно благодарен, если поможете. Задачу прикрепляю. Изначально решил сделать обычный подбор состоящий из 9 циклов, но кажется есть путь попроще. И с другой стороны как сделать так, чтобы числа не повторялись, то есть уникальный подбор 1 2 3 4 5 6 7 8 9 ... а не 11111233... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 04:09 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Дмитрий СмерксИзначально решил сделать обычный подбор состоящий из 9 циклов, но кажется есть путь попроще. Это называется размещения без повторений, гугл в помощь . ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 08:21 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Dima T, не так и много вариантов 17! / (4! 5! 6!) = 171 531 360 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 10:12 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
с акцентом Шварца: какие ваши доказательства? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 10:25 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
ИМХО Не обязательно перебор всех вариантов устраивать, можно сначала упростить задачу, например перебрать всевозможные две диагонали - это ((17! / (13! * 4!)) * (13! / (9! * 4!))) всего 1701700 комбинаций. А дальше проверять только те решения, у которых сумма по диагоналям совпала. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 11:00 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Dima T, а если твою формулу с другого круга начать? тоже самое выйдет ;-)? освежить бы надо комбинаторику ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 11:03 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Это - задача на бэктректинг. Думю что решение о том что нельзя поставить данную расстановку надо принять гораздо раньше. До того как будут перебраны все варианты. На ходу. Грубо говоря здесь не совсем чисты факториал - а амортизированный. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 11:07 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Dima T, кроме того ((17! / (13! * 4!)) * (13! / (9! * 4!))) наверное С(4, 17) * С(5, 13) хотел написать? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 11:08 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Тут пересекающиеся множества тождественные между собой. (система линейных уравнений) Есть несколько точек не принадлежащих множеству и центральный круг у которого нет собственных свободных точек. у всех остальных тождественные множеств есть пара точек лежащих вне пересечения. Суть задачи просто правильно сформулировать систему уравнений упростить ее и решить. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 11:23 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Самые селективные предикаты поднять наверх. Тоесть не решать систему до конца а максимально быстро принять решение что дальше решать не стоит. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 11:37 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Dima T, и я ошибся всё таки, не увидел что одно число не расставляется, это уменьшает вдвое количество вариантов для полного перебора 17! / (2! 4! 5! 6! ) = 85 765 680 Малыхин Сергей, одно выпадающее число сразу удвацетирит количество систем, его наверное можно с ручкой и бумажкой порешать, но мы же программисты, проще перебрать ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 11:37 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
хотя нет, всё верно 17! / (1! 4! 5! 6!) = 171 531 360 вариантов ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 11:44 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
kealon(Ruslan)Dima T, кроме того ((17! / (13! * 4!)) * (13! / (9! * 4!))) наверное С(4, 17) * С(5, 13) хотел написать? Нет, но немного ошибся, на 4 надо было умножить: 1. Берем все сочетания 17 по 4 (17! / (13! * 4!) = 2380) и подставляем их в горизонтальный диаметр 4-мя способами (каждый элемент в центр) - это 9520 комбинаций. 2. Из оставшихся все сочетания 13 по 4 в один диагональный диаметр - 715 комбинации. Если сумма не совпала, то п.1 9520*715 = 6806800 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 11:54 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Dima T, если твоим путём идти тебе нужно просуммировать все 4! варианта по трём основным кругам: в 1-м 5 элементов нужно расставить, во втором - 4, в третьем - 6, центральный -1 будет сумма переборов C(5, 17) * C(4, 12) * C(6, 8) * С(1, 2) + C(4, 17) * C(5, 13) * C(6, 8) * С(1, 2) + +... т.е. 24 варианта замены порядка ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 12:16 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Запилите уже поиск в глубину. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 12:19 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Dima T, блин, вру, не надо их суммировать, везде одинаковое число будет C(5, 17) * C(4, 12) * C(6, 8) * С(1, 2) = 17!/ 5! / 4! / 6! C(4, 17) * C(5, 13) * C(6, 8) * С(1, 2) = 17! / 4!/ 5!/ 6! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 12:25 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
kealon(Ruslan)Dima T, если твоим путём идти тебе нужно просуммировать все 4! варианта по трём основным кругам: в 1-м 5 элементов нужно расставить, во втором - 4, в третьем - 6, центральный -1 будет сумма переборов C(5, 17) * C(4, 12) * C(6, 8) * С(1, 2) + C(4, 17) * C(5, 13) * C(6, 8) * С(1, 2) + +... т.е. 24 варианта замены порядка Нет. Сначала решаем упрощенную задачу: сумма двух диаметров совпала, поэтому без разницы в каком порядке на горизонтальном диаметре кроме центрального элемента, т.е. каждой комбинации из 17 по 4 есть всего 4 варианта записи (не 4!). Например для набора 1,2,3,4 будет Код: plaintext 1. 2. 3.
Для диагонального диаметра вообще без разницы какой порядок, т.к. центр заполнен горизонтальным. На следующих шагах решения придется перебрать пропущенные комбинации, но это далеко не все возможные комбинации. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 12:37 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
КМК задача связана с Магическими квадратами. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 12:39 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Dima T, зря мы тут по комбинаторике голову ломаем, все элементы связаны, т.е. позиция важна, придётся 17! вариантов перебирать но сумма трёх диагоналей 3S = сумме внутреннего и внешнего круга 2S + 3C S = 3C, т.е. в центре число равное трети от суммы пусть X выкинутое число X + C + 3S= 21*20/2 =210 3X + 10 S = 630 Х = 10 | 20 соответственно S = 60 | 57 С = 30 | 29 ??????????????????? что нереально или где-то в условие неверно? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 13:07 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
На самом деле, всё ещё проще. Общая сумма от 1 до 20 = 210. Имеем 3 основных круга по 6 кружков. Всего 19 кружков. Отнимаем от 210 значения 2-х произвольных кружков и делим оставшееся на 3. Имеем 3 диаметра + средний круг (итого 4 элемента). Всего 19 кружков. Отнимаем от 210 значения 1-ого произвольного кружка и добавляем 2 раза значение другого произвольного кружка. Всего 21 кружок. Всю сумму делим на 4. Теперь ищем те значения выпадающих кружков для обоих случаев, где частные от делений совпадает. А именно: 1)выкидываем 10, в центре 20, сумма круга (диаметра) 60 2)выкидываем 20, в центре 19, сумма круга (диаметра) 57. Наверное, дальше, будет проще... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 13:59 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Gennadiy Usov, выкинуть можно только кратное 3-м ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 14:02 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
kealon(Ruslan)Gennadiy Usov, выкинуть можно только кратное 3-мА где это написано в условии? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 14:06 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Можно по формулам. а - выкидываем, в - в центре (210 - а - в) / 3 = ( 210 - а + 2 х в) / 4 или 210 = а + 10 х в ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 14:22 |
|
Как решить задачу по комбинаторике?
|
|||
---|---|---|---|
#18+
Посчитал все варианты для трех диаметров Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99.
Результат 533520 комбинаций диаметров. Дальше заполняем средний круг (6, 18, ... ) 4-мя из оставшихся 5-ти, т.е. комбинаций станет 533520 * 5. Дальше остается перебрать комбинации в каждом диаметре (3!, 4!, 4!) и среднем круге (4!). Итого 82944. Всего максимум 533520 * 5 * 82944 = 221`261`414`400. Многовато, но думаю комбинаций после заполнения среднего круга будет поменьше чем 5*533520. Разбег сумм получился от 34 до 69. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.01.2019, 14:47 |
|
|
start [/forum/search_topic.php?author=%D0%9C%D0%B8%D1%85%D0%B0%D0%B8%D0%BB+%D0%A7.&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 440ms |
total: | 623ms |
0 / 0 |