Задание № 1569

Студент

Кальянова Екатерина

Задача

Friends of Friends

Состояние

Завершено

Баллов

5

Дедлайн
29 апреля 2019
Назначено

09.04.2019, 04:34

Завершено

30.05.2019, 09:24

Моделируем работу движка социальной сети.

Дан граф френдования в формате IDюзера IDфренда1 IDфренда2 …:

vasya kolya petya sasha
sasha vasya cool123 petya
cool123 kolya
kolya cool123

Здесь у юзера vasya 3 френда и т.д. Примем, что IDюзера может содержать цифры и латинские буквы обоих регистров.

Также дан список постов в социальной сети: Время IDавтора Текст:

2014-10-20T08:00:00 vasya Блин, сегодня опять понедельник :(
2014-10-20T08:05:00 cool123 Ура, понедельник!!!
2014-10-20T08:39:00 kolya Какой сегодня день?

(время в формате ISO8601)

Задача

Для заданного userID построить френдленту (все посты френдов, отсортированные по времени в порядке убывания, т.е. самые свежие в начале), а также ленту «friends of friends», т.е. посты френдов и френдов френдов, также отсортированные по времени в порядке убывания. Посты не должны повторяться.

Дополнение

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

Действия