Блок задач

6. Парочка классов

Сложность 6

Задача «Кто где был?»

Справка

Timestamp - https://ru.wikipedia.org/wiki/Timestamp

Входные данные

1) Файл логов, каждая строчка которого содержит следующую информацию:

  • Момент времени ts (в формате timestamp)

  • Идентификатор пользователя user_id (в формате целого положительного числа)

  • Географические координаты (два числа - широта, долгота)

2) Файл географических координат известных мест, каждая строчка которого содержит следующую информацию:

  • Название места (в строковом представлении)

  • Географические координаты (четыре числа - координаты(широта, долгота) 2 точек, по которым можно построить прямоугольник)

Задача

Реализовать набор классов, который позволит:

1) Сгенерировать отдельный файл для каждого user_id, в котором будут записи, касающиеся только этого user_id, упорядоченные по времени, в которых, к тому же будет содержаться информация о названии места, в котором находился пользователь (вычисленное по координатам по второму файлу). Считается, что пользователь был в некотором месте, если его координаты попадают в прямоугольник, соответствующий месту.

2) Вывести в этот же файл маршрут всех перемещений пользователя в формате <место1> - <место2> - ... - <местоN>