Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class AL08 {
- public enum Network {
- FRIENDLY, UNFRIENDLY, UNKNOWN;
- }
- private DisjointSubsets disjointSubsets = new DisjointSubsets();
- public AL08() {
- // don't remove
- }
- public DisjointSubsets getDisjointSubsets() {
- return disjointSubsets;
- }
- public void talkedToEachOther(String name1, String name2) {
- // TODO
- }
- public void addPerson(String name) {
- // TODO
- }
- public void friendly(String name) {
- // TODO
- }
- public void unfriendly(String name) {
- // TODO
- }
- public Network memberOfNetwork(String name) {
- // TODO
- return null;
- }
- }
- // DisjointSubsets.java
- public class DisjointSubsets {
- public String find(String element) throws IllegalArgumentException {
- // TODO
- // should throw IllegalArgumentException if the element is not present
- return null;
- }
- // should throw IllegalArgumentException if any of elements is not present
- public void union(String element1, String element2) throws IllegalArgumentException {
- // TODO
- // should throw IllegalArgumentException if any of elements is not present
- }
- public void addSubset(String element) throws IllegalArgumentException {
- // TODO
- // should throw IllegalArgumentException if the element is already present
- }
- }
- /* Бонд должен пойти на большую вечеринку с дружелюбными и недружественными агентами под прикрытием и другими персонажами. Он может идентифицировать некоторые из них и классифицировать их как дружественные или недружественные, но по большей части он не знает, кто из них принадлежит или принадлежит какой-либо неопознанной сети. Q должен предоставить Bond умные очки, а ваша задача - обновить программное обеспечение умных очков, которое должно обеспечивать сетевую информацию и работать достаточно быстро, чтобы Bond реагировал соответствующим образом. Известно, что в состав компании могут входить (но не уверены) дружественный сетевой агент A и неприветливый сетевой агент U. Можно предположить, что эта принадлежность уже известна интеллектуальным очкам.
- Умные очки уже имеют функциональность, которая может распознавать и распознавать людей и давать идентификаторы разным людям в поле зрения - его известное кодовое имя в базе данных (например, U и A) или уникальный идентификатор в случае неизвестного символа.
- Умные очки дополнены функциональностью, которая позволяет Бонду двигать глазами и ушами, чтобы указать, что агент находится в дружественной или недружественной сети, если он или она распознает это. Бонд также может сигнализировать очкам, что два персонажа находятся в одной сети, если они видят, что они разговаривают друг с другом достаточно долго и уверенно.
- Вам необходимо создать эффективный алгоритм, который может дать вашим очкам возможность отображать информацию обо всех в их сети, если эта информация является идентифицируемой.
- Создайте алгоритм, используя структуру данных непересекающихся подмножеств . Задача двоякая.
- Реализация структуры данных для find (), union () и addSubset () должна быть написана, предполагая, что объекты идентифицируются строками.
- Реализуйте API умных очков, используя структуру данных.
- API расширенной функциональности смартфона:
- memberOfNetwork (id) // ДРУЖЕСТВЕННО, НЕЗАВИСИМО, НЕИЗВЕСТНО
- talToEachOther (id1, id2) // id1 и id2 принадлежат одной сети
- friendly (id) // id принадлежит дружественной сети
- unfriendly (s) // id принадлежит не дружественной сети
- Формирование результата
- Правильная реализация дает 60% точек проблемы.
- Эффективная реализация, где find () и union () имеют сложность O (log n), дает 20%.
- Реализация API Smart Glasses с созданной структурой данных дает 20%.
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement