Biorąc pod uwagę liczbę wierzchołków n ≥ 3
i „rozmiar kroku” 1 ≤ m < n/2
(wskazujący odległość między dwoma połączonymi wierzchołkami), należy przedstawić graficzną reprezentację odpowiedniego regularnego poligamu . Jeśli polygram składa się z wielu zamkniętych pętli, każda pętla musi być renderowana w innym kolorze linii. (Jeśli brzmi to myląco, poniższe przykłady powinny mieć wyjaśnienie).
Zasady
Każde rozsądne rozwiązanie problemu prawdopodobnie automatycznie spełni te reguły - są one po to, aby wprowadzić pewne ograniczenia parametrów wyjściowych, aby zapobiec odpowiedziom typu „Ten czarny blok jest całkowicie poligamem, ale nie można go zobaczyć, ponieważ Ustawiłem szerokość linii na ponad 9000. ”
- Możesz renderować polygram do pliku (który może być zapisany na płycie lub do standardowego strumienia wyjściowego) lub wyświetlić go na ekranie.
- Możesz użyć grafiki wektorowej lub rastrowej. Jeśli wydruk jest zrasteryzowany, obraz musi mieć wymiary 400 x 400 pikseli lub więcej, a promień poligamu (odległość od środka do każdego wierzchołka) musi wynosić od 35% do 50% długości boku.
- Format obrazu poligamu musi wynosić 1 (aby jego wierzchołki leżały na odpowiednim kole) - płótno obrazu może być prostokątne.
- Linie poligamu nie mogą być grubsze niż 5% promienia (i oczywiście muszą mieć niezerową grubość, aby były widoczne).
- Oprócz poligamu możesz renderować osie lub ramę, ale nic więcej.
- Możesz wybrać dowolny (jednolity) kolor tła.
- W przypadku poligamów składających się z wielu zamkniętych pętli musisz obsługiwać co najmniej 6 wizualnie różnych kolorów, z których wszystkie muszą różnić się od tła. (Skala szarości jest w porządku, pod warunkiem, że odcienie są wystarczająco rozłożone w widmie.) Twój kod musi nadal działać dla więcej niż 6 pętli, ale kolory nie muszą być rozróżnialne dla żadnych dodatkowych pętli (tj. Możesz również użyć ponownie kolory z poprzednich pętli w tym punkcie).
To jest kod golfowy, więc wygrywa najkrótsza odpowiedź (w bajtach).
Przykłady
Oto wszystkie dane wyjściowe do n = 16
(gdzie kolumna odpowiada n
i wiersz do m
):
Kliknij, aby zobaczyć większą wersję.
Jako przykłady większych n
, oto (n, m) = (29, 11)
i (30, 12)
: