Блок задач

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

Темы
Сложность 6

Задача «Сваха»

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

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

  • Идентификатор пользователя user_id (в формате строки)
  • Пол (M/F)
  • Возраст (полных лет)
  • Город (в формате строки)
  • Образование (в формате строки)
  • Список интерсов (в формате <interest_1>, <insterest_2>, ... <insterest_N>)

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

  • Идентификатор пользователя user_id (в формате строки) (обязательное поле)
  • Пол (M/F) (необязательное поле)
  • Возраст (полных лет) (необязательное поле)
  • Город (в формате строки) (необязательное поле)
  • Образование (в формате строки) (необязательное поле)
  • Список интерсов (в формате <interest_1>, <insterest_2>, ... <insterest_N>) (необязательное поле)

Задача

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

Примечания

1) В качестве улучшения можно разработать алгоритм выбора "наиболее подходящего" партнера для пользователя (с такими же интересами, близким возрастом и т.д)