Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2016, 22:43   #1
Dmitriy1991
Пользователь
 
Регистрация: 22.11.2016
Сообщений: 11
По умолчанию Точная сдача - алгоритм

Подскажите алгоритм
У покупателя есть n монет достоинством H1, …,  Hn, а у продавца есть m монет достоинством B1, …,  Bm. Может ли покупатель приобрести вещь стоимости S так, чтобы у продавца нашлась точная сдача (если она необходима)?

Формат входного файла

Первая строка содержит три целых числа n, m и S, разделённых пробелом (1 ≤ n ≤ 100, 0 ≤ m ≤ 100, 1 ≤ S ≤ 2 000 000 000). Следующие две строки содержат разделённые пробелом достоинства монет покупателя и продавца соответственно (все числа натуральные, не превосходящие 100).
Формат выходного файла

Единственная строка должна содержать ответ Yes или No.
Пример

input.txt
3 3 36
12 22 23
12 21 1

output.txt
Yes
Dmitriy1991 вне форума Ответить с цитированием
Старый 06.12.2016, 09:44   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

два массива
1. перечень используемых монет M[1..n+m] /M[1..200]
ВСЕХ! покупателя со знаком + и продавца со знаком -.
2. индикаторы(0|1) использования данной монеты в расчете. R[1..200]

x:=0; i:=1 to n+m x:=x +M[i]*R[i]; //выплаченная сумма с учетом полученной сдачи

осталось придумать алгоритм тотального перебора ВСЕХ вариантов заполнения R (от 000...00 до 111...11 ).
P.S. где-то когда-то на этом самом форуме данная задача решалась и не один даже раз и даже я участвовал.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 06.12.2016 в 09:47.
evg_m вне форума Ответить с цитированием
Старый 06.12.2016, 10:18   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Эта задача на нашем форуме - Задача про монеты

а ещё тут смотрели?


http://algolist.manual.ru/olimp/rec_prb.php#z7
Цитата:
Задача 7.

У покупателя есть n монет достоинством H(1),..., H(n). У продавца есть m монет достоинством B(1),...,B(l). Может ли купить покупатель вещь стоимости S так, чтобы у продавца нашлась точная сдача (если она необходима).


[Решение]
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.12.2016, 14:33   #4
Dmitriy1991
Пользователь
 
Регистрация: 22.11.2016
Сообщений: 11
По умолчанию

Мне динамикой нужно сделать
Dmitriy1991 вне форума Ответить с цитированием
Старый 06.12.2016, 15:01   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Dmitriy1991 Посмотреть сообщение
Мне динамикой нужно сделать
так на algolist решение как раз через динамику (если я правильно понял смысл).
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Точная копия для пк Fahman Фриланс 9 08.10.2016 19:33
Точная формулировка задачи. Pascal Dellc Помощь студентам 3 28.05.2012 13:44
Точная задержка (ну и обработка клавиатуры). mmx358 Паскаль, Turbo Pascal, PascalABC.NET 3 26.03.2011 11:20
Точная копия программы на любом языке westcoastkilla Фриланс 2 20.12.2008 17:59