Hej, jestem początkująca programistką, mam do zrobienia zadanie i nie za bardzo wiem jak sobie z nim poradzić. Prosiłabym o jakąś małą pomoc. Podpowiedzenie jakiego algorytmu mogłabym tutaj użyć oraz na jakiej strukturze pracować bo pewnie na tablicy będzie ciężko. Z góry dziękuję za wszystkie tipy.
Wyznacz średnią odległość D pomiędzy d wymiarowymi kwadratami w d wymiarowej kostce dyskretnej o rozmiarze lxlxl (być może z utożsamionymi k ścianami),
dla:
(h=0) króla, który może się poruszać w dowolnym kierunku (jak + i x, tzn. jak w szachach) lub
(h=1) półkróla prostoliniowego poruszającego się jedynie do góry, na dół, w lewo i w prawo (jak +) lub
(h=2) półkróla skośnego poruszającego się jedynie po skosach (jak x).
Przykłady:
Dwu wymiarowa kostka z dwu wymiarowymi kwadratami o rozmiarze 20x20 bez utożsamiania ścian (tzn. k=0).
Przykładem trzy wymiarowym bez utożsamiania ścian (tzn. k=0) rozmiaru 3x3x3 jest kostka Rubika.
Przykładem dwu wymiarowym z utożsamionymi dwiema parami ścian (tzn. k=2) jest torus, natomiast z jedną parą ścian (tzn. k=1) jest walec .
Uwaga, w przypadku d>2 będziemy przyjmować, że żadna ściana nie jest utożsamiona z inną, wówczas k=0 lub wszystkie ściany są parami utożsamione, wówczas k=2.
Wejście
W pierwszej linii liczba kolejnych linii.
W następnych liniach po spacjach d, l, k oraz h.
Wyjście
W kolejnych liniach, miejsce w kręgu, żartowałem,
podłoga z średniej odległości D lub Inf średnia odległość wynosi nieskończoność.
Przykłady
Wejście
5
2 18 0 0
2 9 0 1
2 16 1 0
2 5 2 1
3 199 2 0
Wyjście
8
6
6
2
74