Проверить правильность решения задачи на графы
2 000 руб. за проект
Мы подготовили задачу для айтишников, порешать ее на конференции ради фана.
У нас есть решение и ответ на задачу, но хотелось бы валидировать решение.
Задача не используется для оценки уровня кого-либо или чего-либо и нужна ради фана и небольших призов на самой конференции.
Наша задача сделать чтобы было все интересно и разумеется с правильным ответом и вообще корректной задачей.
В целом ИИ пока не может решить такую задачу полностью. Надо писать код.
Ссылка на задачу: https://gitverse.ru/Vnutrishka/xl/content/forum/readme.md
Подсказки по решению:
1 Для начала нам нужно создать граф зависимостей между участниками. Каждый участник - это вершина, а ребра - это отношения ожидания.
2 Затем нам нужно найти компоненты сильной связности в этом графе. Это можно сделать с помощью алгоритма Косарайю или Тарьяна.
3 После этого мы можем сжать каждую компоненту сильной связности в одну вершину. Время ухода для этой вершины будет максимальным из всех участников в этой компоненте.
4 Теперь у нас получился ациклический направленный граф (DAG). Мы можем использовать топологическую сортировку для определения порядка обработки вершин.
5 Проходя по вершинам в порядке топологической сортировки, мы обновляем время ухода для каждой вершины, учитывая максимальное время ухода всех вершин, от которых она зависит.
У нас есть решение и ответ на задачу, но хотелось бы валидировать решение.
Задача не используется для оценки уровня кого-либо или чего-либо и нужна ради фана и небольших призов на самой конференции.
Наша задача сделать чтобы было все интересно и разумеется с правильным ответом и вообще корректной задачей.
В целом ИИ пока не может решить такую задачу полностью. Надо писать код.
Ссылка на задачу: https://gitverse.ru/Vnutrishka/xl/content/forum/readme.md
Подсказки по решению:
1 Для начала нам нужно создать граф зависимостей между участниками. Каждый участник - это вершина, а ребра - это отношения ожидания.
2 Затем нам нужно найти компоненты сильной связности в этом графе. Это можно сделать с помощью алгоритма Косарайю или Тарьяна.
3 После этого мы можем сжать каждую компоненту сильной связности в одну вершину. Время ухода для этой вершины будет максимальным из всех участников в этой компоненте.
4 Теперь у нас получился ациклический направленный граф (DAG). Мы можем использовать топологическую сортировку для определения порядка обработки вершин.
5 Проходя по вершинам в порядке топологической сортировки, мы обновляем время ухода для каждой вершины, учитывая максимальное время ухода всех вершин, от которых она зависит.
Отзывы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.