LINUX.ORG.RU
ФорумTalks

Свежая задачка с Yandex Backend Tour 2023 - «Опытная команда»

 ,


0

1

Эта тема создается для тех, кто завтра еще будет иметь возможность порешать задачки с Yandex Backend Tour 2023.

Условие задачи «Опытная команда» я не разглашаю (покажу ее после 23:59 19.11.2023), но хочу написать что имели в виду авторы. У меня плохо с пониманием других людей, а когда решение нужно делать на время, когнитивные функции напрочь отключаются.

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

----- 8< -----

В момент времени T=2 к команде присоединяется Victor. Опытность Ivan и Anton теперь равна 1, опытность Victor равна 0. Разность между суммарной опытностью оставшихся членов команды и опытностью самого опытного члена команды равна (1+0)−1=0. Добавляем к ответу Anton 0

----- 8< -----


То возможно вас наведет на правильную мысль следующее объяснение:


----- 8< -----

Ребята из Яндекса не написали в условии задачи, как определяется самый опытный. Зато написали в формате вывода: «Если членов команды с максимальной опытностью несколько, нужно вывести того, чье имя лексикографически минимально».

За этой фразой, видимо, скрывается мысль, что этот принцип используется не только при выводе. Видимо, подразумевалось, что данный принцип надо использовать и в других местах программы. (Для меня это не очевидно).

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

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

----- 8< -----


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

PS: Задача даже не на алгоритмы, а просто на корректное написание простого кода, который парсит входные данные по некоторым правилам.

PPS: И да, я не прошел.

★★★★★
Ответ на: комментарий от firkax

Ну, можешь не верить.

А чего тут верить не верить. Ты несколько дней видел условия задачи и читал обсуждение всех подводных камней. Так что к твоим 22 минутам прибавляй 10 дней, которые тебе позволили поразмыслить над задачкой.

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

Итого, поздравляю: ты решил задачу с помощью сообщества за ~10 дней 22 минуты. Ма-ла-дец.

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 1)
Ответ на: комментарий от Xintrea

Повторяю: подводные камни ты выдумал, о чём я сразу тебе и написал как только увидел условие. Эта задача - тупо начальный фильтр (это ясно уже из того что она публично-удалённо решается), чтобы не тратить внимание на тех, кто даже её не может решить. Примерно как если бы была электронная регистрация на открытую школьную олимпиаду по математике, и для успешного завершения регистрации надо было бы предварительно решить квадратное уравнение - чтоб двоечники туда не регились, ну или хотя бы регились поменьше (ведь двоечнику никто не мешает спросить у кого-то ответ).

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 2)
Ответ на: комментарий от firkax

Повторяю: ты не можешь рассуждать про эту задачу просто потому, что ты не дал ее решение спустя 22 минуты после публикации условия. Ты разродился после 10 дней обсуждения. Поэтому не тебе решать насколько задача сложна, как быстро ее можно решить, и какими умственными способностями для этого надо обладать.

Xintrea ★★★★★
() автор топика
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)