Wiesz już, czym są liderliderlider oraz idolidolidol.
Jak jednak zaimplementować algorytm wyszukiwania idola i lidera w języku Java?
R1bsiotbB0oo61
Ćwiczenie 1
Algorytm znajdowania lidera wykorzystywany jest w Polsce podczas wyborów prezydenckich (jeśli jednak w pierwszej turze nie zostaje wybrany lider, następuje druga tura wyborów). W pewnej szkole przeprowadzono wybory przewodniczącego samorządu uczniowskiego, wykorzystując ten sam model. Napisz program, który wykorzysta algorytm znajdowania lidera do wyłonienia nowego przewodniczącego samorządu uczniowskiego.
Przetestuj działanie programu dla następujących wyników, zawierających n = 105 głosów:
Linia 1. AA – Adam Angielski.
Linia 2. BB – Bartosz Brytyjski.
Linia 3. CC – Celina Chińska.
Linia 4. DD – Damian Duński.
Specyfikacja problemu:
Dane:
n – liczba naturalna; liczba oddanych głosów
oddaneGlosy – n-elementowy zbiór głosów oddanych na poszczególnych kandydatów; zbiór łańcuchów znaków
Wynik:
Na standardowym wyjściu wyświetlane są imię i nazwisko lidera w zbiorze oddaneGlosy, jeśli lider istnieje; w przeciwnym wypadku należy wyświetlić komunikat „Brak lidera”.
R1e9TxWdihC4F
Ćwiczenie 2
Napisz program znajdujący idola w zbiorze n osób na podstawie tablicy znajomości. Osoby numerowane są od 0 do n - 1. Przetestuj poprawność rozwiązania dla n = 4 osób oraz następującej tablicy znajomości:
tablicaZnajomosci[i][j] – tablica wartości logicznych; zawiera informację o tym, czy osoba o numerze i zna osobę o numerze j; przy założeniu, że: j, i < n
Wynik:
Na standardowym wyjściu wyświetlany jest komunikat „Idolem jest osoba numer X”, jeśli idol istnieje w danym zbiorze n osób, lub „Idol nie istnieje” w przeciwnym wypadku.
RbGPn2CT8XG50
Słownik
idol
idol
w grupie n osób idolem nazywamy osobę, która znana jest przez każdą z pozostałych n - 1 osób, natomiast sama nie zna nikogo
lider
lider
element n‑elementowego zbioru, który występuje w nim więcej niż razy