Size: a a a

2019 October 09

VB

Vitaly Boroday in #UWDC
Danila Nikonets
дискорд - широкий функционал и бесплатно
Да слышал про него. Но переписывать все под новую платформу не хочется
источник

AB

Anton [az09@osm] Belichkov in #UWDC
Vitaly Boroday
Да слышал про него. Но переписывать все под новую платформу не хочется
ботами и алертами небось там обложились, а в опенсорс выложить и не подумают. капиталисты
источник

DN

Danila Nikonets in #UWDC
Anton [az09@osm] Belichkov
ботами и алертами небось там обложились, а в опенсорс выложить и не подумают. капиталисты
не капиталисты а секрет производства
источник

АВ

Алексей Волков in #UWDC
10 минут до публикации задачи!
источник

AK

Alan Khugaev in #UWDC
источник

АВ

Алексей Волков in #UWDC
крутой стикер 🙂
источник

АВ

Алексей Волков in #UWDC
Danila Nikonets
не капиталисты а секрет производства
нематериальные активы 🙂
источник

АВ

Алексей Волков in #UWDC
Итак, задача очередного #BrainBreak по средам!

Напомню, что приз сегодня — это беспроводные наушники Xiaomi.
https://i.gyazo.com/5e2ef560d41777006ae7b37e215c0813.png

Спонсор приза — студия цифровых продуктов UNIT6.

Задача…

На дворе 2121 год.
Уже многие годы люди массово использовали биткоины и получали свои покупки прямо к себе в квартиру. И вот в 2121 людям захотелось снова начать ходить в олдскул-магазины и вернуться к использованию физических денег. Для взаиморасчетов люди решили использовать монеты, изготавливающиеся по секретной технологии из переработанного мусора с микрочипом из него же.

Заказчик хочет, чтобы вы написали программу для роботов-кассиров, которая будет вычислять наименьший набор монет для сдачи покупателю.

Заказчик в 2121 году в кассах наладил подачу неограниченного числа монет всех существующих номиналов прямо из хранилища местного банка.

Но еще в 2121 году банковская система возродилась из пепла и все немного по другому, например, сейчас в каждом городе можно выбирать номиналы монет любым удобным для его жителей образом.

Например, в городе Челябинске используются монеты номиналом 2, 4, 15 и 40. А в соседнем Екатеринбурге — 2, 4, 12 и 50.

Компания-заказчик хочет наладить работу во всех городах своего присутствия, так что программа должна работать с любым набором монет в любом городе.

На входе программе будет передаваться сумма, которую нужно сдать покупателю, и номиналы монет, которые есть в городе, отсортированные по возрастанию.

Входные данные будут передаваться в stdin в виде положительных целых чисел, каждое на новой строке. Окончание ввода — число 0.

На выходе нужно сказать, можно ли набрать сдачу (YES/NO), и если да — сколько и каких монет нужно набрать (в той же последовательности, что было на входе и в формате «НОМИНАЛ х КОЛИЧЕСТВО»).

Пример входных данных для запроса сдачи 514 денег с номиналами 3 и 5 монет:
514
3
5
0

На этот набор программа должна ответить:
YES
3 x 3
5 x 101

Пример входных данных для запроса сдачи 27 денег с номиналами 5 и 13 монет:
27
5
13
0

Такую сумму с такими номиналами набрать нельзя, поэтому программа должна ответить так:
NO

* За покупателей переживать не нужно, магазины при ответе NO должны сдавать больше, чем положено — робот-кассир при таком ответе программы запросит посчитать сдачу для 28 денег, если и там будет NO, то 29, потом 30… и так до тех пор, пока не получит YES… говорят, что при таком подходе сдача иногда может оказаться больше, чем покупатель заплатил за товар и особо умные жители могут покупать товары и увеличивать свой капитал, если догадаются, как это сделать

Решения принимаются только в виде ссылок на ваш код в http://ideone.com
Код будет проверяться там же, в ideone, и он должен корректно компилироваться и правильно выполняться с нашими тестовыми данными, иначе решение не принимается (обратите внимание на ограничения платформы, 15 секунд на выполнение и 256 мегабайт).

Свои решения присылайте на unit6contest@gmail.com
С решением желательно написать свое имя и логин в телеграм, чтобы в случае победы было удобнее объявлять победителя в чате.

Победителем будет первое правильное решение (дату/время проверяем по полю created в ideone).

Окончание приема решений — суббота в 15:00.

Результаты будут опубликованы по окончании приема решений или раньше, посмотрим по ситуации.

Засчитываться будет только 1 последний вариант от каждого автора на момент проверки.

Если вы исправили своё решение, нужно повторно написать письмо, чтобы мы могли проверить ваше решение ещё раз.

* Ограничения на входные данные — сумма для сдачи от 1 до 1500, количество разных номиналов монет от 1 до 20, номиналы монет от 1 до 99.

* Приз выдается самовывозом в Челябинске, место самовывоза отдельно согласовывается спонсором приза с победителем. Победитель может переуступить приз кому угодно.
источник

АВ

Алексей Волков in #UWDC
можно задавать уточняющие вопросы 🙂
источник

МM

Мikhаil M in #UWDC
источник

АВ

Алексей Волков in #UWDC
@sonicgd другим оргам участвовать можно 🙂
источник

PE

Peter Evsikov in #UWDC
> За покупателей переживать не нужно, магазины при ответе NO должны сдавать больше, чем положено — робот-кассир при таком ответе программы запросит посчитать сдачу для 28 денег, если и там будет NO, то 29, потом 30… и так до тех пор, пока не получит YES

программа должна сама запустить новый рассчет с инкрементом суммы сдачи?
источник

АВ

Алексей Волков in #UWDC
нет, только ответить NO,
как и указано в примерах тестовых данных
источник

PE

Peter Evsikov in #UWDC
ок
источник

PE

Peter Evsikov in #UWDC
гот ит
источник

V

Vik in #UWDC
Эээ. Это же классическая задача и решения готовое есть
источник

АВ

Алексей Волков in #UWDC
И что?
источник

АВ

Алексей Волков in #UWDC
Все в ваших руках :)
источник

PE

Peter Evsikov in #UWDC
Vik
Эээ. Это же классическая задача и решения готовое есть
считай наушники уже твои
источник

АВ

Алексей Волков in #UWDC
источник