Стандартная библиотека C++ (2015)

Так господа и дамы. Не забываем, что у нас диктат. Никаких голосований! Я подумаю и решу.

Исправим. Укажите тест.

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

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

Выкладываю 041.7z (446,3 КБ)

Благодарю.

16 тест,

BW 131 2.11.2015 00:30 Hewlett-Packard 32634866113212351113 43.80


BI 524 12.12.2015 16:46 Google 12564124646347121235 220.43


WW 423 2.12.2015 05:52 Paradise 2

Радуйтесь! MS добавит поддержку clang в ноябре.

это вроде как бета-версия будет)

Обновил условие задачи 2. Но у меня есть недовольство понятием “скорость” и запросом 3. Я еще подумаю и поэкспериментирую, и, возможно, поправлю. Кроме того, маловато примеров. В общем, правки неизбежны.

Роман Борисович,

Что-то, по-моему, очень многое в условии упущено:

  1. Сказано, что пользователи бывают двух типов, однако в описании приходящей информации (OBJECT) не указано, как их отличать. Вариант исследовать скорость - по-моему, слишком крутой. Застрявший в пробке автолюбитель, движущийся со скоростью то 5км/час, то 25 км/час будет вводить в заблуждение. К тому же запросы о переходе через проезжую часть подразумевают наличие четкого критерия.
  2. Для односторонних дорог не ясно, в каком направлении можно ездить. Так же определять по получаемым данным, очевидно, неправильно: а вдруг самый первый проехавший был нарушителем?
  3. Запрос четвертого типа в описании задачи поставлен как “был ли на этой дороге?”, когда в описании входных данных говорится: “находится ли на указанной дороге?” Чему верить? Первый вариант слишком уж жесткий выйдет: для каждой дороги помнить, кто на ней был - очень затратное по памяти дело. Особенно если пользователей много.
  4. Для входных чисел не указан тип и пределы изменения: если для координат все, кроме пределов, ясно из условия, то для скоростей - не очень.
  5. Явно не указано кол-во приходящих запросов/сообщений. Вообще говоря, это важно из-за надобности хранить все события до очередного запроса на их выгруз. Если не зарезервировать здесь память, то можно нехило пролететь в случае их очень большого кол-ва. Стоит, наверное, указать верхнюю границу. Также не ясно, что будет являтся признаком конца: просто EOF или пробельная строка. В первом случае могут возникнуть проблемы, выявленные еще в первой задаче, когда кол-во строк во входе не совпадало с заявленным: потоковый ввод/вывод намертво зависал вместо того, чтобы вернуть признак EOF.
  6. Запрос о самых загруженных дорогах: ответ на него не единственен. Может стоит его модифицировать до вывода всех дорог, разделивших первые пять мест по загруженности? В таком случае с чекером будет гораздо меньше мороки, а иначе - чекер должен быть модификацией решения :slight_smile:
  7. Запрос о вероятном времени в пути совсем кошмарен: не указано, что нужно считать вероятным временем в пути: расстояние / среднее арифметическое скоростей и просуммировать по всем участкам пути? Также не указано, как задается путь. По примеру из входных данных это совсем не очевидно. Наверное, последовательностью точек: начало, перекресток, перекресток… перекресток, конец. ? Если так, то хорошо бы еще указать кол-во этих точек. Но, конечно, всегда можно оставить только начало и конец и попросить проложить путь (не на курсе по алгоритмам на графах, так здесь запилим алгоритм Дейкстры :slight_smile: )
  8. Для запроса первого типа не описан формат вывода событий, если они имеются.

Я же писал:

Есть вопросы, на которые я смогу ответить, только после прототипирования. Не гоните лошадей.

Лучше напишите прототип и тем самым ускорите процесс.

Обновил условие на ejudge. Напоминаю, что в 9:00 завтра будет встреча для желающих обсудить эту задачу. Собираемся возле 320, а дальше найдем аудиторию.

Еще две правки внес в условие задачи 2.

Появился вопрос: Если object не проехал по пешеходной дороге, но произошло и “превышение скорости”, и “проехал по встречке”(Произошло два события в одно время), то по первому Requestу их выводить в порядке номеров событий?( 1. Превышение скорости 2. Проехал по встречке)

И хотелось бы уточнить: Если object проехал по пешеходной дороге, то не нужно ловить события 1 и 2?

Вопросы про прекрестки:

1.Если он находится на перекрестке и превышает скорость, то могут произойти два события?(Как в итоге решили) 2.На перекрестке ему надо присвоить id дороги, чтобы поймать событие 1, какой id присваивать? 3. На перекрестке одна из двух дорог оказалась для пешеходов,происходит ли событие 3?

Вроде бы, согласно условию, тут два события типа 1.

Выводите в любом порядке. Чекеру будет все равно.

У пешеходных дорог нет направления и ограничения скорости. И проезд по ним - более сильное событие :slight_smile:

В условии написано, что нет.

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

Имею ввиду, что после проезда перекрестка Object может оказаться на одной из двух дорог Но когда мы проезжаем перекресток нам требуется присвоить ему id дороги на которой он находится. И после этого определять событие 1. И если неправильно присвоить, то окажется, что событие один определить нельзя(будто он свернул на другую дорогу)

  1. На перекрестке одна из двух дорог оказалась для пешеходов,происходит ли событие 3? В условии написано, что нет.

Увидел:"(перекресток пешеходной и автомобильной/смешанной дороги не считается)", спасибо

Т.е на перекрестке происходят события 1(Для 2х дорог, если дороги не пешеходные), 2(Само собой выходит, если дороги не пешеходные, причем произойдет только для одной дороги), а 3 и 4 не происходят. Правильно?

И еще вопрос, правильно ли, что скорость Objectа на односторонних дорогах добавляется в общий зачет(для расчета средней) если он не едет по встречке? Или добавляется всегда?

Для запроса о местоположении: если объект находился на перекрестке, выводите id любой из двух дорог.

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

Едущих по встречке не учитывать при расчете средней скорости (допишу это).

Мне кажется, хуже другая ситуация. Пусть объект едет (1,1) -> (2,1)->(2,2) , т.е. это фрагмент маршрута с поворотом. Что произойдет если Вы записали дорогу в момент времени 2, что он на первой дороге? Вы не поймете направления движения (2,1)->(2,2) в момент времени 3, потому что на дороге это первое его присутствие. А значит не сможете определить событие “проехал по встречке”. В рамках условия такая ситуация допустима, а значит Ваш объект должен знать, что он на перекрестке в момент 2, чтобы в следующий момент иметь возможность определить направление движения.

Напоминаю, что в пятницу (04.12) надо принести тесты. Я подумываю за тесты давать доп баллы …