БЕСПЛАТНОЕ РЕШЕНИЕ ЗАДАЧ
 ФОРУМ  »      ЧАТ »
 ПРАВИЛА  »     НОВОЕ  »     УЧАСТНИКИ  »     ПОИСК  »     RSS 

  • Страница 1 из 1
  • 1
Форум студентов » СТУДЕНЧЕСКИЙ ФОРУМ » Задачи по программированию » Олимпиадная задача (Найти две наименьшие одинаковые суммы)
Олимпиадная задача
 Сообщение: 1 • 11.03.12 • 08:28
Гость форума
Помогите, пожалуйста! Не знаю с чего даже начать...
Даны N чисел, 2<=N<=100. Каждое из этих чисел 1<=а[i]<=32000. Найти две наименьшие одинаковые суммы (сумма может состоять и из одного числа), например, если даны числа 1, 2, 5, 8, 10, то ответ будет 8, т.к. 1+2+5=8, а вторая сумма - 8.
Спасибо!
 Сообщение: 2 • 13.03.12 • 13:12
Гость форума
Гостья, у вас получается переборная задача. Перебор вариантов будет занимать много времени, поэтому надо придумать какую-то эвристику, которая сократит время перебора. Но я бы действовал в обратном порядке: плясать не от перебора чисел и проверки суммы, а наоборот. Берем сумму, раскладываем ее на все возможные слагаемые и проверяем, есть ли два варианта суммы, слагаемые которых попадают в указанный диапазон данных по задаче. Как-то так...
 Сообщение: 3 • 19.03.12 • 19:14
Гость форума
Спасибо, попробую!
Форум студентов » СТУДЕНЧЕСКИЙ ФОРУМ » Задачи по программированию » Олимпиадная задача (Найти две наименьшие одинаковые суммы)
  • Страница 1 из 1
  • 1
Поиск:

STUDLAB Сообщить про опечатку на сайте