Wpis z mikrobloga

Zagadka:
W mieście żyje n mieszkańców. Wsród nich jest burmistrz. Burmistrz nie zna nikogo, ale wszyscy znają burmistrza. Możemy się pytać czy osoba i zna osobę j. Problem: znajdź burmistrza w jak najmniejszej ilości zapytań.
#matematyka #programowanie #algorytmy
  • 15
  • Odpowiedz
@liga: Robisz BFS-a/DFS-a po skierowanym grafie znajomości (zaczynając od dowolnej osoby), aż znajdziesz liść, czyli wierzchołek bez krawędzi wychodzących. On jest burmistrzem, bo burmistrz nie zna nikogo, a każdy inny zna przynajmniej jedną osobę (burmistrza).
  • Odpowiedz
@ponton: takie podejście miałem też na początku, ale mnie opieprzono, że to strzelanie do komara z armaty tzn. budowanie grafu, implementacja rozwiązania itd. Rozwiązanie Goloba jest moim zdaniem najlepsze dzięki prostocie implementacji :)
  • Odpowiedz
  • 4
@liga: Zdaje się, że @ponton zaproponował dokładnie to samo, tyle że opisał rozwiązanie pojęciami z grafów. Wiesz, implementacja DFSa nie musi wiązać się z pisaniem klasy Node, można to zrobić na jednym wektorze :-).
  • Odpowiedz