Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
Я чем больше смотрю на эту задачу тем больше убеждаюсь что у нее нет аналитического решения. А все наши прогнозы - просто маленькие предсказания на тему как уйти от факториала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 15:24 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
maytonЯ чем больше смотрю на эту задачу тем больше убеждаюсь что у нее нет аналитического решения. А все наши прогнозы - просто маленькие предсказания на тему как уйти от факториала.Предпочитаете не замечать аналитику 21794052 и 21793947 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 15:57 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
Решил. Исходник и ответВыкинуть надо число 10 Код: 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. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. Результат: Код: plaintext 1. Кому надо 16 правильных расстановок - я пометил место где их выводить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 16:06 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
Dima T Решил. Исходник и ответВыкинуть надо число 10 Код: 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. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. Результат: Код: plaintext 1. Кому надо 16 правильных расстановок - я пометил место где их выводить. 2) Почему только 10? Причина. 3) Полный перебор не интересно. Компьютер помогает. Лучше пошагово, аналитически, так как сам мыслишь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 16:12 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)13 уравнений с 18 неизвестными сводится к диафантовому уравнению с 6 неизвестными а это 17!/(17-6)! вариантов Вообще я в прошлый раз поторопился. Здесь система линейных неравенств. В смысле помимо уравнений присутствуют ограничения вида Хn>0 && Xn<21. Плюс "диофантовость", то есть ограничение на решение в целых числах. А количество неизвестных зависит ещё и от количества сумм, то есть если наконец определиться, что считать суммой - три круга и девять диаметров или девять кргуов и три диаметра - тогда (для первого случая) добавляются три неизвестных суммы для кругов и условие вхождения меньших диаметров в большие (то есть дополнительные уравнения). В общем нужно просто сесть и потратить часик времени на рисование всех возможных уравнений и ограничений, потом посчитать количество неизвестных и уравнений, ну и используя ограничение на целостность числа совместно с устранением ряда неизвестных за счёт их выражения из уравнений системы, решить несколько получившихся диофантовых уравнений (штуки 4 всего). Но я чувствую, народ мотивирован и найдёт эвристическое решение без перебора и уравнений, поэтому общий подход уже не столь интересен... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 16:26 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
alex55555, 21793795 kealon(Ruslan)13 уравнений: 9 кругов, 3 диагонали, 1 уравнение баланса 18 неизвестных: x1..x17 и S единичность и принадлежность к диапазону я не знаю как подсчитать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 16:31 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
Gennadiy UsovmaytonЯ чем больше смотрю на эту задачу тем больше убеждаюсь что у нее нет аналитического решения. А все наши прогнозы - просто маленькие предсказания на тему как уйти от факториала.Предпочитаете не замечать аналитику 21794052 и 21793947 ? Аналитического решения не существует для комбинаторных задач в общем понимании этого слова. Сюда же 1000 ферзей. Но создатели упростили нам это введя пограничные условия. 3 константы. И 1 исключение из списка целых. Что вы будете делать если пограничных условий не будет? Я в скобках напомню что мы находимся в форуме посвященном программированию и 99% респондентов заинтересованы программировать задачу а не решать ее в уме. Таковы реалии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 16:37 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
maytonGennadiy UsovПредпочитаете не замечать аналитику 21794052 и 21793947 ? Аналитического решения не существует для комбинаторных задач в общем понимании этого слова. Сюда же 1000 ферзей. Но создатели упростили нам это введя пограничные условия. 3 константы. И 1 исключение из списка целых. Что вы будете делать если пограничных условий не будет? Я в скобках напомню что мы находимся в форуме посвященном программированию и 99% респондентов заинтересованы программировать задачу а не решать ее в уме. Таковы реалии.Получается, что тупо поиск с возвратом, где перебираются все значения по всем окружностям и диагоналям. А где ограничения, упрощения? С целью уменьшения вариантов поиска? Для показа этих упрощений не обязательна нужна программа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 17:00 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
Gennadiy Usovmaytonпропущено... Аналитического решения не существует для комбинаторных задач в общем понимании этого слова. Сюда же 1000 ферзей. Но создатели упростили нам это введя пограничные условия. 3 константы. И 1 исключение из списка целых. Что вы будете делать если пограничных условий не будет? Я в скобках напомню что мы находимся в форуме посвященном программированию и 99% респондентов заинтересованы программировать задачу а не решать ее в уме. Таковы реалии.Получается, что тупо поиск с возвратом, где перебираются все значения по всем окружностям и диагоналям. А где ограничения, упрощения? С целью уменьшения вариантов поиска? Для показа этих упрощений не обязательна нужна программа. Да. В данном форуме программа является доказательством. Доказательством корректнсти программы является ее работа и ее результат. Не просмотр глазами. И не умозрительные заключения. Если дима привел программу. И она у нас заработает. И выдаст корректный результат. То для всех присутствующих будет очевидно что она верна. Тот кто считает что она не верна должен будет доказать обратное. Чтобы проверить правильность формул. Необходимо всех присутствующих провести через ДОКАЗАТЕЛЬСТВО этих формул. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 17:39 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
По поводу упрощений. Просмотрите код Димы и внесите свои предложения по упрощениями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 18:03 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
Ради интереса забил задачу в Excel для проверки Solver-а. Он не оправдал оказанного ему высокого доверия, заклинило на нерешенном состоянии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 18:27 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
А как современный Excel работает? Интерпретатор байткода? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 18:31 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
mayton, Там три алгоритма зашито. В нашем случае номинально только эволюционный подходит. Я его раньше тестировал на одной олимпиадной задаче, справился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 18:35 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 19:31 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
Я подумал некрасиво без заполнения клеток, могут не поверить, поэтому все 16 вариантов. x1x2x3x4x5x6x7x8x9x10x11x12x13x14x15x16x1720234171915811161145791310202315171948111611457913102021941731581116114579131020219151734811161145791310204321519178111611457913102043171519281116114579131020419215317811161145791310204191715328111611457913102015324191781116114579131020153174192811161145791310201519243178111611457913102015191743281116114579131020173421915811161145791310201731521948111611457913102017194231581116114579131020171915234811161145791310 Расположение переменных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 19:58 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
Дима. А ты мог-бы выложить трассу для одного ответа где видно как меняется масса окружностей и диаметров? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 20:16 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
Dima T, занятно, вариативны только 6 переменных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2019, 00:29 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
Хм. Ценное замечание. Меняются только цифры внутреннего круга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2019, 01:02 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
Как оказалось, уравнения не проходят - одни тождества. Следовательно - поиск с возвратом. Исходные данные – два варианта для х17 и х1, известны 3 числа, сумма чисел для 9 последовательностей (окружности и диагонали) То есть, известны 5 чисел из 20 чисел. Осталось найти 15 чисел Шаг 1. цикл по х2 и х5 (из 15 и 14 чисел - отобрано 7 чисел) – определяем х15 (не равно 7 числам) всего 8 чисел (1-я диагональ) Шаг 2. цикл по х12 и х16 (из 13 и 12 чисел - отобрано 10 чисел) - определяем х8 (не равно 10 числам) всего 11 чисел(1-я внутренняя окружность) Шаг 3. цикл по х13 (из 9 чисел - отобрано 12 чисел) – определяем х14 (не равно 12 числам) всего 13 чисел (большая окружность) Шаг 4. - определяем х9 (не равно 13 числам) всего 14 чисел (2-я внутренняя окружность) Шаг 5. цикл по х10 (из 6 чисел - отобрано 15 чисел) - определяем х11(не равно 15 числам) всего 16 чисел. Шаг 6. Далее проверки: - сумма х3 и х6 сравниваем с (2-я диагональ) (2-я внутренняя окружность) (4-я внутренняя окружность) - сумма х4 и х7 сравниваем с (3-я диагональ) (5-я внутренняя окружность) (6-я внутренняя окружность) - суммы х3,х4,х6,х7 сравниваем с (внутренняя окружность) Шаг 7. цикл по х7 (из 4 чисел - отобрано 17 чисел) – определяем х4 ( не равно 17 числам) всего 18 чисел. Шаг 8. цикл по х3 (из 2 чисел - отобрано 19 чисел) – определяем х5 ( равно последнему свободному числу) Если при работе цикла не определяются свободные числа, то возврат на предыдущий шаг. Можно усложнить алгоритм, когда ничего не известно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2019, 07:26 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
Забыл указать в исходных данных, что имеем 20 чисел от 1 до 20. Тут следует вспомнить следующее сообщение:maytonGennadiy UsovСкорее тут будет метод поиска с возвратом: ищем, суммируем, подходит или не подходит, если нет, то возвращаемся...Я не про это. Я знаю как решать эту задачу. Я не знаю как описать входные данные красиво. Представте что завтра граф будет другой. С большим числом вершин и другими условиями. Сколько кода вам надо будет сломать?А если доработать схему по-шаговых действий 21794700 для случая, когда ничего не известно. 1) Вместо известных значений вводим переменные: х18(6), х19(12), х20(8). И в тех объектах (окружность, диагональ), где эти переменные впервые появляются, добавляется цикл по этим переменным, аналогично остальным переменным. 2) Имеем массив произвольных 20 чисел. Определяем их сумму К. Каждой переменной х... ставится в соответствие определенный элемент массива. 3) Строим внешний цикл по переменным х1 и х17, причем есть ограничение: величина (К + х1 - х17) должна делиться на 3. Тогда К1 = (К - х1 - х17)/3 будет являться суммой чисел в каждом объекте (окружность, диагональ). А если совсем углубиться (ударение на втором у), то можно ещё ввести соотношения между объектами (окружность, диагональ). А если и ...., то можно вообще рисовать произвольные картинки, только успевай выстраивать новые схемы, которые будут похожи на 21794700 Так что, вариантов обобщения и углубления много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2019, 09:17 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
maytonДима. А ты мог-бы выложить трассу для одного ответа где видно как меняется масса окружностей и диаметров? Это обычный перебор, пропускаются варианты с неправильной суммой. Т.е. Наполнили средний круг, сумма не совпала, следующий средний, совпала, наполнили внешний круг, сумма не совпала следующий внешний и т.д. Вот тот же исходник с выводом значения узлов. Его результат скопипастил сюда 21794557 Код: 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. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2019, 10:20 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
Можно ещё упростить схему алгоритма, при этом убираем один цикл Исходные данные – два варианта для х17 и х1, известны 3 числа, сумма чисел для 9 последовательностей (окружности и диагонали) То есть, известны 5 чисел из 20 чисел. Осталось найти 15 чисел Для начала введем 3 переменные: а1 = х2 + х5 а2 = х3 + х6 а3 = х4 + х7 Шаг 1. цикл по х15 (из 15 чисел - отобрано 6 чисел) – определяем а1 всего 6 чисел (1-я диагональ) Шаг 2. цикл по х12 и х16 (из 14 и 13 чисел - отобрано 8 чисел) - определяем х8 (не равно 8 числам) всего 9 чисел(1-я внутренняя окружность) Далее из (большая окружность) и из (внутренняя окружность) – определяем х9 (не равно 9 числам). Всего 10 чисел. Шаг 3. цикл по х10 (из 10 чисел - отобрано 11 чисел) - определяем х11(не равно 11 числам) всего 12 чисел. (средняя окружность). Далее определяем: а2, а3, х13, х14, Шаг 4. Цикл по х2 в а1- определяем х5 Шаг 5. Цикл по х3 в а2 – определяем х6 Шаг 6. Цикл по х4 в а3 – определяем х7 Если при работе цикла не определяются свободные числа, то возврат на предыдущий шаг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2019, 13:07 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
maytonХм. Ценное замечание. Меняются только цифры внутреннего круга. По-моему, так быть не может, где-то ошибка при проверке условия - у двух триплетов сумма любой пары должна быть одинаковой. 6 условий и 6 переменных - единственное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2019, 13:19 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
Dima TmaytonДима. А ты мог-бы выложить трассу для одного ответа где видно как меняется масса окружностей и диаметров? Это обычный перебор, пропускаются варианты с неправильной суммой. Т.е. Наполнили средний круг, сумма не совпала, следующий средний, совпала, наполнили внешний круг, сумма не совпала следующий внешний и т.д. Вот тот же исходник с выводом значения узлов. Его результат скопипастил сюда 21794557 Код: 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. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. Ты уже опубликовал это где-то в гитхабе? Я хотел сделать несколько changes. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2019, 14:58 |
|
||
|
Как решить задачу по комбинаторике?
|
|||
|---|---|---|---|
|
#18+
maytonДоказательством корректнсти программы является ее работа и ее результат. Но программисты же получают не просто результат, а оптимальный результат. Так вот по оптимальности решения полным перебором возможны большие вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2019, 17:57 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39765059&tid=1339994]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 156ms |

| 0 / 0 |
