В одной далекой стране правил крайне сумасбродный король, который больше всего на свете любил власть. Ему подчинялось множество людей, но вот незадача, у его подчиненных тоже были свои слуги. Король обезумел от мысли, что какой-нибудь дворянин или даже зажиточный холоп может иметь больше слуг, чем он сам. И приказал всем людям на бумаге через запятую написать свое имя и имена своих прямых подчиненных.
По результатам опроса король получил огромный список из имен (see "pollResults")
У короля разболелась голова. Что с этими данными делать, король не знал и делегировал задачу невезучему слуге.
Помогите слуге правильно составить иерархию и подготовить отчет для короля следующим образом:
король
дворянин Кузькин
управляющий Семен Семеныч
крестьянин Федя
доярка Нюра
жена Кузькина
...
секретарь короля
зажиточный холоп
...
...
Помните:
- Те, у кого нет подчиненных, просто написали свое имя.
- Те, кого никто не указал как слугу, подчиняются напрямую королю (ну, пускай бедный король так думает).
- Итоговый список должен быть отсортирован в алфавитном порядке на каждом уровне иерархии.
Ответ присылайте ссылкой на опубликованный приватный Gist.
#UPD
Я решил в работе немного модернизировать выход, и вместо текста представить связи в виде графа отношений