Pull to refresh
1
Владимир Тихомиров@vltksk

Java developer

Send message
К сожалению, я должен написать ещё один, очень надеюсь, что последний, комментарий на эту тему. У меня правда, как это сейчас говорят, “подгорает”, куда сильнее, чем проблема этого заслуживает и мне теперь придётся с этим как-то жить.

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

По первой задаче:

мне указали, что при использовании произвольной функции частоты кивания Моники решений возможных задачи бесконечно много.
Да, это очевидно.

мне заявили, что в случае, если решений бесконечное количество, никакое частное решение не может быть засчитано.
Это не так, поскольку частное решение остаётся решением, но спорить об этом, действительно, больше не стоит.

По третьей задаче:

Я писал в первом же комментарии, что я указал решение 171 / 103776.
В присланном фото квитка действительно указан ответ 171 / 103776.
В посте правильным ответом указано 6156 / 3735936.

Итак, поскольку состоялась повторная внимательная проверка, то ничего не остается, как считать эти дроби разными. Например, сходу видно, что в “6156 / 3735936” больше символов, чем “171 / 103776” и начинается одна с “6”, а другая с “1”.
С третьей, пожалуй, тоже закончили.
В условии «до конца рабочего дня», но ты трактуешь, что именно в конце рабочего дня.

Судя по всему, это адресовано мне. Тогда я хотел бы на всякий случай обратить внимание, что я про превышение ста строк ничего не писал, ты путаешь меня с другим комментатором.

Далее, «именно в конце рабочего дня» является строгим подмножеством условия «до конца рабочего дня». Это более сильное условие, именно поэтому я написал в изначальном комментарии, что для гарантии решил ужесточить условие (а не изменить его), убрав неоднозначность, которую я достаточно подробно описал.
Ты полностью оперся на формулу f(x) = 1 + sqrt(x).

Нет, я полностью оперся на условие.

...«парным программированием» даже цветом выделены. Это означает, что Билл пишет код только тогда, когда Моника «помогает» ему


Я не вижу ни малейших оснований так считать. Во-первых, в парном программировании код пишут не в четыре руки; в любой момент времени минимально обязательная цель второго — наблюдать, что решается просто присутствием Моники. Во-вторых, «выделение цветом» не несёт никакой смысловой нагрузки хотя бы потому, что тем же цветом выделены имена персонажей. В-третьих, мне у стенда подтвердили, что Билл и без Моники написал бы свои 60 строк, что идёт из формулы функции частоты.

Я как раз очень дотошно подошёл к тексту условия. Поэтому у меня не было уверенности, что Моника вообще перестанет кивать после ухода Билла, это я и имел в виду под отсутствием обозначенной связи поведения Моники от поведения Билла. И если дать ответ в виде числа, то получилось бы, что Моника будет кивать весь час, проигнорировав уход Билла, и кивнёт более 243 раз. Поэтому я стал в явном виде синхронизироваться на точке окончания рабочего дня.
Я на конференции тоже поучаствовал в решении этих задач, в результате у меня была зачтена только одна задача — вторая. Выглядели все задачи довольно просто, поэтому, признаться, хотелось понять, в чём подвох.

Как решал я:

1. В первой задаче меня смутила слабая обратная зависимость (Моники от Билла) и смутное понимание, чем она будет заниматься в кабинете остаток рабочего дня, если Билл уйдёт раньше. Я для гарантии решил ужесточить условие, поскольку задача это позволяла и стал искать решение, чтобы 243-й кивок завершился ровно в момент окончания рабочего дня и точно в этот же момент Билл должен написать сотую строку кода. Понятно, что для достижения такого результата Моника не могла кивать весь час с постоянной частотой, но по условию задачи такого ограничения не стояло. Таким образом, в качестве ответа нужно предложить такую функцию кивания Моники x(t), чтобы
— интегрирование функции x(t) от 0 до 60 давало 243 и при этом
— интеграл f(t) = 1 + sqrt(x(t)) от 0 до 60 дал бы 100.

Очевидно, существует бесконечное множество подходящих функций и мы свободны в их выборе. Я пошёл простейшим путём и выбрал ступенчатую функцию
x(t) = { 0 при t < T; X = const при t > T }.
Т.е. Моника сначала не делает ничего, а потом начинает кивать с постоянной частотой так, чтобы Билл закончил точно к концу рабочего дня.

Введем T’ = 60 — T — это продолжительность кивания Моники и получается несложная система

T’ * X = 243
T’ * sqrt(X) = 40 (поскольку остальные 60 строк Билл напишет за этот час без помощи Моники)

Отсюда X = (243/40)2 ~= 36,9 кивков в минуту, T’ = 402 / 243 ~= 6,58 минут.

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

Однако мой ответ не зачли, хотя он отлично подходит, как и множество других.

2. Вторую задачу, как я сказал, зачли — ответ совпал. Хотя я беспокоился из-за слов условия
“…по аналогии с 16-ричной системой, только помимо цифр будут использоваться…”.
Дело в том, что a, b, c, d, e, f в 16-ричной системе вполне цифры (в системе счисления нет “букв”) и я не был уверен, брать ли мне помимо кириллицы десять цифр или шестнадцать. Взял десять и угадал.

3. Про третью задачу я думал, что допустил ошибку из-за неправильного понимания, что такое “флоп” (я, увы, незнаком с правилами покера) и в игре происходило что-то другое. Но оказалось, причина куда проще. Я дал ответ 171 / 103776. Несложно заметить, что это та же самая дробь 6156 / 3735936. Кстати, тогда я не заметил, что дробь можно сократить ещё на 3, до 57 / 34592. В любом случае, в этой задаче мой ответ тоже был правильными.

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

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity