[Ответить в тред] Ответить в тред

09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!
30/09/16 - BREAKING NEWS ШОК АБУ ПРОДАЛСЯ МЭЙЛУ (на самом деле нет)
25/09/16 - Персональное обращение Абу - СБОР ПОЖЕРТВОВАНИЙ НА ДВАЧ


Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 6 | 5 | 3
Назад Вниз Каталог Обновить

Аноним 21/10/16 Птн 10:29:54  138262861  
14770349944800.png (144Кб, 640x480)
Помогите школьнику
Паскаль или хотяб алгоритм

Производственная компания «Настольные игры для Вас» разрабатывает новую игру. В этой игре предполагается комплект карточек с натуральными числами. На всех карточках числа различны. Задача игрока состоит в том, чтобы собирая карточки по определенным правилам, сформировать у себя комплект карточек, дающих в сумме заданное число. Производственной компании требуется Ваша помощь. Напишите программу, которая по комплекту карточек определяет сколькими различными способами можно набрать заданное число. Способом считается комплект, состоящий из нескольких карточек, как минимум из двух.
Формат ввода
В первой строке текстового файла nicety.in указано натуральное число N — количество карточек (1 < N < 10). Следующая строка содержит N изображенных на карточках натуральных чисел через пробел. Каждое число не превышает 50. В третьей строке указано число, которое необходимо получить суммируя числа на карточках.
Формат вывода
В выходной файл nicety.out вывести единственное число – количество способов получить заданную сумму.
Пример

Ввод Вывод
5
2 4 5 7 3 2
7

Примечания
Комментарий к примеру: карточка с числом 7 не засчитывается, в качестве способа, поскольку комплект карточек должен содержать как минимум две карточки.
Аноним 21/10/16 Птн 10:31:36  138262932
14770350964830.jpg (51Кб, 604x340)
Аноним 21/10/16 Птн 10:34:53  138263067
14770352935240.jpg (40Кб, 604x340)
Аноним 21/10/16 Птн 10:55:19  138263863
14770365196910.jpg (58Кб, 604x604)
Аноним 21/10/16 Птн 11:00:32  138264090
14770368330430.jpg (129Кб, 600x371)
Не особо вхож в такое говно, но есть такой вариант (ужасен с точки зрения памяти):
1) Сортируешь все карточки по возрастанию
2) Начинаешь проходить от меньшего к большему, прибавляя в temp-переменную карточки, ловишь три случая:
3.1) Соответствие заданному числу, прибавляешь к результату единицу
3.2) Недобор, прибавляешь еще карточку, если они есть
3.3) Перебор, переходишь к другому составу карточек
Добра тебе, школьник.
Аноним 21/10/16 Птн 11:02:45  138264177
>>138262861 (OP)
Это же тупой рюкзак. Чему вас там сейчас в школах вообще учат? При данных ограничениях можешь хоть за О(2^N * N) решать полным перебором.
Аноним 21/10/16 Птн 11:04:20  138264225

>>138264177
Забыл сагу.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 6 | 5 | 3
Назад Вверх Каталог Обновить

Топ тредов
Избранное