|
-15 / 1 / 0
Регистрация: 26.01.2019
Сообщений: 34
|
|
Маршрутное такси07.03.2019, 18:24. Показов 7319. Ответов 17
Метки нет (Все метки)
Вы сидите на первом сидении в маршрутном такси. Проезд в маршрутке стоит 10 рублей. Вам передают купюры достоинством в 10, 50 и 100 рублей (с каждой купюры – на билет за одного пассажира). Часть из них вы можете сразу раздать в качестве сдачи (её можно выдать полностью или частично). Остальные купюры вы передаете водителю. Какое наименьшее количество купюр вам придется передать водителю?
Входные данные Вводится три целых неотрицательных числа (каждое не превосходит 100) – количество 10-, 50- и 100-рублевых купюр, которые вам передали. Выходные данные Выведите одно число – наименьшее возможное количество купюр, которое придется передать водителю. Примеры входные данные 1 1 1 выходные данные 1 входные данные 9 0 2 выходные данные 2 python или pascal
0
|
|
| 07.03.2019, 18:24 | |
|
Ответы с готовыми решениями:
17
Такси
Задача с codeforces "Беру-такси" |
|
|
||||||
| 07.03.2019, 18:38 | ||||||
|
Егор Андреянов, вот пример. попробуйте сами для начала, может.
Похоже, алгоритм нужно подправить. Давно его делал..
0
|
||||||
|
-15 / 1 / 0
Регистрация: 26.01.2019
Сообщений: 34
|
|
| 07.03.2019, 18:58 [ТС] | |
|
решение помоему совершенно не то
0
|
|
|
-15 / 1 / 0
Регистрация: 26.01.2019
Сообщений: 34
|
|
| 08.03.2019, 10:56 [ТС] | |
|
я не знаю, алгоритм немного не понятный. обьясните его
0
|
|
|
-15 / 1 / 0
Регистрация: 26.01.2019
Сообщений: 34
|
||||||
| 09.03.2019, 12:13 [ТС] | ||||||
|
Вы сидите на первом сидении в маршрутном такси. Проезд в маршрутке стоит 10 рублей. Вам передают купюры достоинством в 10, 50 и 100 рублей (с каждой купюры – на билет за одного пассажира). Часть из них вы можете сразу раздать в качестве сдачи (её можно выдать полностью или частично). Остальные купюры вы передаете водителю. Какое наименьшее количество купюр вам придется передать водителю?
Входные данные Вводится три целых неотрицательных числа (каждое не превосходит 100) – количество 10-, 50- и 100-рублевых купюр, которые вам передали. Выходные данные Выведите одно число – наименьшее возможное количество купюр, которое придется передать водителю. Примеры входные данные 1 1 1 выходные данные 1 входные данные 9 0 2 выходные данные 2
https://informatics.mccme.ru/m... erid=776#1
0
|
||||||
| 09.03.2019, 13:48 | ||
![]() Рассмотрим пример 5 2 1. Ваш код дает ответ 7, это не верно. Даю сдачи на 100р _10*4_50*1, на 50р_10*1. Передаю водителю одну купюру 100р и одну купюру 50р. Ответ 2.
0
|
||
|
-15 / 1 / 0
Регистрация: 26.01.2019
Сообщений: 34
|
||
| 09.03.2019, 14:43 [ТС] | ||
|
Добавлено через 7 минут я понял, что все едут "бесплатно" но как это исправить??? ![]() Добавлено через 23 минуты ![]() Добавлено через 18 секунд
0
|
||
|
|
||||||
| 09.03.2019, 16:00 | ||||||
|
Егор Андреянов,
1
|
||||||
| 09.03.2019, 17:08 | |||||||||||
Сообщение было отмечено Егор Андреянов как решение
Решение
Если исправить Ваш код, то будет так
![]() Во всяком случае ответ они не искажают. Добавлено через 3 минуты Но если их убрать, то нужно убирать и строки 12,13 и 16,17 Добавлено через 29 минут m0nte-cr1st0, Вот пример на который Ваш код дает неверный ответ 1 8 7 отдаем сдачи 1 купюра 10р, 7 купюр 50р. Остается и передается водителю 1 купюра 50р и 7 купюр 100. Ответ 8. У Вас выдает ответ 2. И вот еще примеры 5 2 1 Ответ 2. У Вас выдает 1. 12 1 1 Ответ 5. У Вас выдает 2.
1
|
|||||||||||
|
|
||
| 09.03.2019, 17:57 | ||
|
Кажется, вы слишком углубились. Читаем внимательно условие.
смотрим приведённый Вами пример: 1 8 7 = 160р. так как у нас есть купюры номиналом 100р, то берём их - достаточно 2 купюры, чтобы заплатить за проезд. (а пассажиры уже сами там разберутся со сдачей)
0
|
||
| 09.03.2019, 18:17 | |
|
m0nte-cr1st0, Я в своем первом варианте кода, тоже купился на неверный алгоритм, который предлагаете Вы.
У нас 7 купюр по 100р. Кому Вы их можете отдать в виде сдачи? Никому. Поэтому они все уйдут водителю, и вместо них он уже передаст в салон мелкие купюры для сдачи. И так далее. Неужели это не понятно?. Добавлено через 6 минут В условии не рассматривается вариант, сколько купюр водитель вернет назад. Тем более не известно купюры какого достоинства он будет возвращать, тут множество вариантов. Поэтому в условии не говорится, что из количества купюр переданных водителю нужно вычитать количество купюр возвращенное им.
0
|
|
|
|
||
| 09.03.2019, 18:22 | ||
|
Но если сделать приоритет на водителя, то достаточно одной купюры номиналом 100р, чтобы оплатить проезд за 7 человек, даже если все передали купюры по 100р. То есть ты даешь водителю одну купюру, он тебе отдаёт 30р, а дальше пассажиры уже разбираются между собой.
0
|
||
| 09.03.2019, 18:33 | ||
Кстати кто дал купюры по 100р, им нужно вернуть 7*90=630р. Вы их достанете из своего кармана? В задаче предполагается, что их даст водитель взамен семи купюр по 100р. Как Вы не выкручивайтесь, а водителю 7 купюр по 100р отдайте. А то если их присвоите, то Вас в тюрьму посадят, или пассажиры побьют
0
|
||
|
|
||
| 09.03.2019, 18:38 | ||
![]() главное, что водителю ушло минимальное количество купюр)
0
|
||
| 09.03.2019, 18:50 | ||
|
Извините, у меня уже больше нет сил Вам объяснять. Удачи.
0
|
||
|
|
|
| 09.03.2019, 18:55 | |
|
Viktorrus, вы не поняли, о чём я. Эх(
0
|
|
|
0 / 0 / 0
Регистрация: 30.09.2025
Сообщений: 2
|
||||||
| 30.09.2025, 00:39 | ||||||
|
Уже неактуально, однако если кто-то в будущем сюда заглянет - значит я всё же не зря старался
![]()
1 - получаем переменные 2 - максимальное количество купюр в 50 рублей, которые мы хотим сразу отдать(7 пассажиров передают по 100 рублей => мы можем отдать им сдачу либо 10 купюрами по 10, либо 4 купюрами по 10 и 1 в 50, в данном случае 7) 3 - минимальное количество купюр в 10 рублей, которые мы хотим сразу отдать(к 50 от 100 добавляем 40 и сдача с 5 тоже 40, выносим общий множитель 4, в данном случае получаем (8+7)*4 = 60 - то есть, чтобы выдать сдачу пассажирам, мне нужно как минимум 60 купюр по 10 рублей) 4 - считаем оставшиеся после сдачи купюры в 10 рублей(в данном случае (1 - 60)*(60<1) = 0) 5 - если бы у нас было 10 рублёвых купюр больше, чем 60, мы бы попытались использовать их вместо купюр по 50(мы это делаем, потому что так вместо 5 купюр по 10 мы передадим водителю 1 в 50 рублей, в данном случае 0) 6 - считаем остаток купюр в 10 рублей после пункта 5(в данном случае 0) 7, 8 - мы приравниваем основные переменные к дополнительным(доп переменные введены, потому что 5 и 6 пункт должны считаться независимо друг от друга) 9 - теперь, когда у нас закончились купюры в 10 рублей, мы пытаемся втюхать 50 рублей всем, кто отдал нам 100(в данном случае (8 - 7)*(7 < 8) = 1) 10 - Складываем оставшиеся у нас на руках купюры(которые мы и отдадим водителю) Что-то мне подсказывает, что этот код можно было и покороче сделать, но я уже 3 часа с этой задачей мумукаюсь, так что мне лень, всё равно у меня получилось короче, чем любой другой код в этой теме(к тому этот код проходит все тесты)
0
|
||||||
|
884 / 537 / 228
Регистрация: 21.02.2011
Сообщений: 5,706
|
||||||
| 30.09.2025, 11:06 | ||||||
0
|
||||||
| 30.09.2025, 11:06 | |
|
Помогаю со студенческими работами здесь
18
Расчет платы за поездку на такси Бот для Яндекс Такси
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|