Skip to content

Instantly share code, notes, and snippets.

@VolodyaG
Last active June 15, 2022 04:30
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 11 You must be signed in to fork a gist
  • Save VolodyaG/fcd086da1b2c129528d25762da14ef98 to your computer and use it in GitHub Desktop.
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) {
}
}
@NanoToster
Copy link

Привет!)

Возможно стоит исправить 28 строчку на "Те, у кого нет подчиненных, просто написали свое имя."

@gudleifrgit
Copy link

gudleifrgit commented Aug 4, 2020

Здравствуйте. В списке pollResults есть те, кто не указал своих подчинённых либо их отсутствие, например "крестьянин Федя".

@VolodyaG
Copy link
Author

VolodyaG commented Aug 7, 2020

Тем больше проблем досталось невезучему слуге..

@mulya
Copy link

mulya commented Aug 7, 2020

Здравствуйте. В списке pollResults есть те, кто не указал своих подчинённых либо их отсутствие, например "крестьянин Федя".

Это "мертвая душа"))

@slabod
Copy link

slabod commented Aug 14, 2020

  1. Итоговый список должен быть отсортирован в алфавитном порядке на каждом уровне иерархии.

Что конкретно это значит? Подчинённые каждого участника должны быть отсортированы? В примере выше это, кажется, не выполняется

@tikurilla
Copy link

Да, что значит "Итоговый список должен быть отсортирован в алфавитном порядке на каждом уровне иерархии"? В примере невозможно определить способ сортировки. "крестьянин Федя, доярка Нюра" - этот список отсортирован или нет? Если да, то как?

@VolodyaG
Copy link
Author

@tikurilla @slabod
Спасибо что заметели, поправил пример чтобы соответствовал требованию

@GrandJah
Copy link

В условии "через запятую" в примере двоеточие присутствует, в условии "все люди" в примере некоторые слуги не указаны, и что с этими мертвыми душами делать?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment