Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Опримальный Алгоритм; перебор; думаю интерестно.
|
|||
|---|---|---|---|
|
#18+
Задача: Даны четыре числа, A, B, C, D >= 0 а также число N , где 1 <= N <= (A + B + C + D) div 2 Требуется перебрать все варианты четвёрок a, b, c, d где: 0 <= a <= A , 0 <= b <= B , 0 <= c <= C , 0 <= d <= D , a + b + c + d = N и например вывести их на экран. Другими словами задачу можно сформулировать так: Имеется мешок с цветными шариками, среди них A белых шариков, B синих, C зелёных и D красных. Также имеем корзину в которую помещается N шариков. Нужно перебрать все возможные (различные) варианты наборов шариков которые могут оказаться в корзине, когда корзина заполнится. Если просто вложить в циклы то скорость алгоритма будет порядка O((A+1)*(B+1)*(C+1)*(D+1)) . Есть ли у вас, уважаемые, более оптимальные предложения/соображения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2005, 16:52 |
|
||
|
Опримальный Алгоритм; перебор; думаю интерестно.
|
|||
|---|---|---|---|
|
#18+
Сообразил, можете закрыть тему ... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2005, 18:23 |
|
||
|
Опримальный Алгоритм; перебор; думаю интерестно.
|
|||
|---|---|---|---|
|
#18+
Ну в общем примерно так. Разве что для пущей красоты можно подумать над избавлением от вложенных циклов. На эту тему был хороший пример задачи в одной старой книге. Там строилась некая экономическая модель и требовалось сделать нечто вроде данных для what-if анализа - было порядка полусотни параметров, влияющих на результат, и требовалось по каждому из них пробежать по указанному диапазону с указанным шагом и соответственно вывести результат для всех возможных комбинаций значений. Как говорит автор, он встречался с решениями на основе пятидесяти вложенных циклов :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2005, 20:05 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=33274970&tid=1347426]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
129ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 268ms |
| total: | 469ms |

| 0 / 0 |
