|
0 / 0 / 0
Регистрация: 03.11.2022
Сообщений: 140
|
|
Определить минимальный по сумме уплаченных взяток допустимый порядок получения подписей20.09.2023, 22:46. Показов 4947. Ответов 73
Метки нет (Все метки)
Ломаю голову и не пойму как написать программу вот такого условия: Есть министерство из N чиновников, где N натуральное число. У каждого из чиновников могут быть как подчиненные, так и начальники, причем справедливы правила: подчиненные моего подчиненного мои подчиненные, начальники моего начальника - мои начальники, мой начальник не есть мой подчиненный, у каждого чиновника не более одного непосредственного начальника.
Для того чтобы получить лицензию на вывоз меди необходимо получить подпись 1-ого чиновника - начальника всех чиновников. Проблема осложняется тем, что каждый чиновник, вообще говоря, может потребовать "визы", т.е. подписи некоторых своих непосредственных подчиненных и взятку - известное количество долларов. Для каждого чиновника известен непустой список возможных наборов "виз" и соответствующая каждому набору взятка. Пустой набор означает, что данный чиновник не требует виз в данном случае. Чиновник ставит свою подпись лишь после того, как ему представлены все подписи одного из наборов "виз" и уплачена соответствующая взятка. Необходимо определить и вывести минимальный по сумме уплаченных взяток допустимый порядок получения подписей для лицензии и стоимость. Может кто-нибудь сможет подсказать, может у кого есть идея.
0
|
|
| 20.09.2023, 22:46 | |
|
Ответы с готовыми решениями:
73
Необходимо определить и вывести минимальный по сумме уплаченных взяток допустимый порядок получения подписей для лицензии и стоимость. Определить порядок получения подписей минимизирующий сумму уплаченных взяток
|
|
631 / 526 / 104
Регистрация: 05.08.2022
Сообщений: 2,810
|
||
| 22.09.2023, 10:13 | ||
|
Приведите то, что вы сделали и уточните где именно возникла проблема.
0
|
||
|
фрилансер
6510 / 5773 / 1135
Регистрация: 11.10.2019
Сообщений: 15,428
|
||
| 22.09.2023, 10:43 | ||
![]() а по теме - можно сначала сделать прототип на том же стандартном векторе. Когда всё получится, выкидываем заголовок вектора, делаем собственный класс вектора, реализуем необходимый интерфейс
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||||||||||||||||
| 22.09.2023, 15:49 | |||||||||||||||||
|
Если принять такой жесткий формат ввода как я привел, можно и обычными дин. массивами обойтись, но при этом ещё нужно заботиться об их освобождении. Добавлено через 3 часа 20 минут Что бы не быть совсем голословным, вот каркас : Полностью готовое дерево и все связи между чиновниками. К формату ввода добавил VN - количество виз в наборе. 1. Написать саму рекурсивную функцию поиска мин суммы, аля пост №2 + проверку мемоизации и ее заполнение. 2. И функцию раскрутки участвующих чиновников, и вывод их снизу вверху, в порядке их подписей на разрешение. Все.
Будут вопросы, задавайте.
1
|
|||||||||||||||||
|
0 / 0 / 0
Регистрация: 03.11.2022
Сообщений: 140
|
|||||||||||
| 22.09.2023, 17:18 [ТС] | |||||||||||
|
Это нам про Стек рассказали
0
|
|||||||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||||||||||
| 22.09.2023, 19:40 | |||||||||||
|
Итоговый код. Я использовал стандартный динамический массив, стек и очередь.
Их можно заменить на свои. Немного подправив код. Вы можете заметить, что рекурсивная функция поиска мин. сумы, практически не изменилась, от моего первого поста. Так как я не делал полноценное дерево, поэтому так много разнообразных связей. Да и с деревом их не слишком то было бы меньше, такая уж задача. Пусть преподователь поломает голову ![]()
Вывод на предоставленном мной примере входных данных :
p.s. на графе было бы проще.
2
|
|||||||||||
|
0 / 0 / 0
Регистрация: 03.11.2022
Сообщений: 140
|
||||||
| 25.09.2023, 13:28 [ТС] | ||||||
|
написала программу, а она не работает (в 40 и 67 ругается на n), не знаю как исправить и правильная она, может кто-нибудь проверит, если знает
0
|
||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||||||
| 25.09.2023, 13:40 | |||||||
|
Вам придется воспользоваться "динамическим массивом".
1
|
|||||||
|
0 / 0 / 0
Регистрация: 03.11.2022
Сообщений: 140
|
|||||||||||
| 25.09.2023, 16:00 [ТС] | |||||||||||
|
я исправила под динамический массив, это так или нет
еще исправила, но не работает
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 03.11.2022
Сообщений: 140
|
||||||
| 25.09.2023, 23:40 [ТС] | ||||||
|
А как этот Ваш код без дерева сделать, препод говорит граф, а дерево не использовать, моя программа так и не заработала. Уже неделю сижу с программой, не пойму как, кто знает не скажет как? Говорит используй динамический или концевой список, стек или очередь.
0
|
||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||
| 25.09.2023, 23:50 | ||||
|
Я уже писал ранее, что на графе будет, как мне кажется, проще. Но как то, у вас, слишком большой прыжок, от простых связных структур до графов, о которых вы, наверное до этой задачи и не слышали. ![]() Добавлено через 4 минуты
1
|
||||
|
0 / 0 / 0
Регистрация: 03.11.2022
Сообщений: 140
|
||||||
| 26.09.2023, 10:14 [ТС] | ||||||
|
Разбиралась с Вашей задачей, что-то мы вектор проходили, но на простом уровне и не в списках. А как эту задачу сделать без вектора пыталась, но не получилось, не работает.
Добавлено через 43 минуты А выводится я поняла общая сумма, а не минимальная или я неправильно разобралась. Потому что по условию минимальная Добавлено через 17 минут А поняла, что мин сумма, но без вектора пробовала, не получается. Как без вектора, кто знает Добавлено через 11 минут убираю std в using std::cin, выдает ошибку; или на что заменить, мы такого не проходили, убираю std, я в начало поставила using namespace std, вот посмотрите
0
|
||||||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||||||||
| 26.09.2023, 12:26 | ||||||||
|
Заменить своим типом с конструктором, деструктором и индексатором.
1
|
||||||||
|
0 / 0 / 0
Регистрация: 03.11.2022
Сообщений: 140
|
|
| 26.09.2023, 13:37 [ТС] | |
|
А мемоизация - это для к запоминанию n значений, у нас такого слова не было, я просто не знаю
Добавлено через 2 минуты я уже немного с vector разобралась, а так у нас было template Добавлено через 5 минут Я вставила cin.get(); // press enter to exit, все равно (у меня такого не было) окно работы программы уходит за окно программы, а не остается на переднем плане, как всегда return убрала, тоже так
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||||||||||
| 26.09.2023, 13:47 | |||||||||||
|
Там остался '\n' с последнего ввода.
Либо еще раз cin.get(), либо запросите явную команду на выход.
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 03.11.2022
Сообщений: 140
|
|
| 26.09.2023, 13:50 [ТС] | |
|
Извините меня, а что обозначает kpn, ivpn, vn
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 26.09.2023, 14:07 | |||
|
vn - количество наборов виз текущего чиновника (kpn) ivpn - порядковый номер чиновника, подпись которого требуется по данной визе Добавлено через 7 минут kpn - это порядковые номера подчиненных данного чиновника.
1
|
|||
|
0 / 0 / 0
Регистрация: 03.11.2022
Сообщений: 140
|
|
| 26.09.2023, 14:10 [ТС] | |
|
а что такое - h
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 26.09.2023, 14:21 | |||
n векторов, подчиненных.Или добавить эти данные в тип Clerk. Но переписывать придется много. Добавлено через 1 минуту
1
|
|||
|
0 / 0 / 0
Регистрация: 03.11.2022
Сообщений: 140
|
|
| 26.09.2023, 15:08 [ТС] | |
|
Ввожу ваши данные, а у меня выходит ошибка, и почему сначала 0, это же количество чиновников? Почему дважды повторяется про порядковый номер чиновников. Непонятно.
0
|
|
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 26.09.2023, 15:14 | ||
|
0 - это просто идентификатор
Я же приводил формат и пример ввода. Добавлено через 2 минуты Вы ввели данные о чиновние : 1 2 1 1 - его порядковый номер (так как я для простоты начал отсчет с 0, то больше подходит ID), 2 - количество подчиненных, 1 - количество наборов виз
0
|
||
| 26.09.2023, 15:14 | |
|
Определить максимально допустимый ток по медному электропроводу Определить допустимый угол закручивания стального вала на сколько времени хватит денег в случае получения наследства в сумме при указанных расходах
Минимальный путь для получения максимальной суммы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №3)
Maks 15.11.2026
Обновленная версия предыдущей обработки.
Изменения коснулись букв: Ъ, Ы, Ь, Э, отображения которых зависят от положения реквизита "Транслитерация имён".
Изменено отображение буквы Й.
Добавлена. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|