-
-
Save VolodyaG/fcd086da1b2c129528d25762da14ef98 to your computer and use it in GitHub Desktop.
import java.util.List; | |
/* | |
* В одной далекой стране правил крайне сумасбродный король, который больше всего на свете любил власть. | |
* Ему подчинялось множество людей, но вот незадача, у его подчиненных тоже были свои слуги. | |
* Король обезумел от мысли, что какой-нибудь дворянин или даже зажиточный холоп может иметь больше слуг, чем он сам. | |
* И приказал всем людям на бумаге через запятую написать свое имя и имена своих прямых подчиненных. | |
* | |
* По результатам опроса король получил огромный список из имен (see "pollResults") | |
* | |
* У короля разболелась голова. Что с этими данными делать, король не знал и делегировал задачу невезучему слуге. | |
* Помогите слуге правильно составить иерархию и подготовить отчет для короля следующим образом: | |
* | |
* король | |
... | |
* дворянин Кузькин | |
жена Кузькина | |
* управляющий Семен Семеныч | |
доярка Нюра | |
* крестьянин Федя | |
* ... | |
* секретарь короля | |
* зажиточный холоп | |
* ... | |
* ... | |
* | |
* Помните: | |
* 1. Те, у кого нет подчиненных, просто написали свое имя. | |
* 2. Те, кого никто не указал как слугу, подчиняются напрямую королю (ну, пускай бедный король так думает). | |
* 3. Итоговый список должен быть отсортирован в алфавитном порядке на каждом уровне иерархии. | |
* | |
* Ответ присылайте ссылкой на опубликованный приватный Gist. | |
* */ | |
public class LazyKing { | |
private static List<String> pollResults = List.of( | |
"служанка Аня", | |
"управляющий Семен Семеныч: крестьянин Федя, доярка Нюра", | |
"дворянин Кузькин: управляющий Семен Семеныч, жена Кузькина, экономка Лидия Федоровна", | |
"экономка Лидия Федоровна: дворник Гена, служанка Аня", | |
"доярка Нюра", | |
"кот Василий: человеческая особь Катя", | |
"дворник Гена: посыльный Тошка", | |
"киллер Гена", | |
"зажиточный холоп: крестьянка Таня", | |
"секретарь короля: зажиточный холоп, шпион Т", | |
"шпион Т: кучер Д", | |
"посыльный Тошка: кот Василий", | |
"аристократ Клаус", | |
"просветленный Антон" | |
); | |
public static void main(String... args) { | |
UnluckyVassal unluckyVassal = new UnluckyVassal(); | |
unluckyVassal.printReportForKing(pollResults); | |
} | |
} | |
class UnluckyVassal { | |
public void printReportForKing(List<String> pollResults) { | |
} | |
} |
Здравствуйте. В списке pollResults есть те, кто не указал своих подчинённых либо их отсутствие, например "крестьянин Федя".
Тем больше проблем досталось невезучему слуге..
Здравствуйте. В списке pollResults есть те, кто не указал своих подчинённых либо их отсутствие, например "крестьянин Федя".
Это "мертвая душа"))
- Итоговый список должен быть отсортирован в алфавитном порядке на каждом уровне иерархии.
Что конкретно это значит? Подчинённые каждого участника должны быть отсортированы? В примере выше это, кажется, не выполняется
Да, что значит "Итоговый список должен быть отсортирован в алфавитном порядке на каждом уровне иерархии"? В примере невозможно определить способ сортировки. "крестьянин Федя, доярка Нюра" - этот список отсортирован или нет? Если да, то как?
@tikurilla @slabod
Спасибо что заметели, поправил пример чтобы соответствовал требованию
В условии "через запятую" в примере двоеточие присутствует, в условии "все люди" в примере некоторые слуги не указаны, и что с этими мертвыми душами делать?
Привет!)
Возможно стоит исправить 28 строчку на "Те, у кого нет подчиненных, просто написали свое имя."