Задача О Равномерном Распределении Чисел

Тема в разделе "C/C++/C#", создана пользователем Brenli, 24 июл 2012.

  1. Brenli

    Brenli Гость

    Имеется массив А из N элементов ,где (1<=N<=10^6) (1<=A<=10^3)
    Задача:
    Разделить массив А на 2 массива B и С таким образом чтобы разница сумм элементов этих массивов была минимальна.

    Пример:
    Массив А
    1,4,5,6,7,9
    ------------------------------------
    Массив В
    9,1,6
    Массив С
    5,4,7

    Спасибо
     
  2. vnmukh

    vnmukh New Member

    Регистрация:
    22 авг 2012
    Сообщения:
    4
    Симпатии:
    0
    все проще чем кажется:

    1. Разделяешь исходный массив на две части.
    2. Вычисляешь разность сумм двух полученных массивов.
    3. Меняшь поочередно каждый элемент первого массива с каждым элементом второго массива.
    4. Опять проверяешь разность сумм, если разность увеличивается - меняешь обратно, если уменьшается двигаешься дальше, если разность равна нулю - заканчиваешь цикл, получилась лучшая разность.
    5. Выводишь полученные массивы.

    Могу скинуть код, надумаешь - стучи в скайп: vnmukh
     
Загрузка...
Похожие Темы - Задача Равномерном Распределении
  1. Янчик
    Ответов:
    0
    Просмотров:
    490
  2. TrishaRay
    Ответов:
    1
    Просмотров:
    783
  3. elzim
    Ответов:
    0
    Просмотров:
    932
  4. ShaoKahn
    Ответов:
    0
    Просмотров:
    1.128
  5. eremin-sanek
    Ответов:
    3
    Просмотров:
    1.108

Поделиться этой страницей