Wprowadzenie:
Jestem kolekcjonerem łamigłówek. Tutaj możesz zobaczyć moją aktualną kolekcję ± 300 zagadek.
Myślę, że wszyscy znają zwykłą Kostkę Rubika (Kostka 3x3x3), która jest Kostką NxNxN . Istnieją również prostopadłościany (puzzle w kształcie klocków), które występują w różnych formach, być może lepiej wyjaśnione tutaj przez SuperAntionioVivaldi :
- Zwykłe prostopadłościany Domino (takie jak 2x2x3 ; 2x3x3 ; 3x3x4 ; itp.) - Występują w postaci NxNx (N + O) lub Nx (N + O) x (N + O) , które mają albo dwa nieparzyste wymiary, a parzysty lub dwa parzysty i nieparzysty.
- Prostopadłościany zmiennokształtne (jak 2x2x4 ; 3x3x5; 3x3x9 ; 4x4x6 ; itd.) - Występują w postaci NxNx (N + P) , które jak sama nazwa wskazuje, zmieniają kształty (we wszystkich kierunkach). Wszystkie trzy wymiary są nieparzyste lub parzyste.
- Floppy Cuboids (jak 1x3x3 ; 2x4x4 ; itp.) - Występują w postaci Nx (N + P) x (N + P) , które są prawie takie same jak zmiennokształtni, ale z tak zwanymi parytetami dyskietek.
- Brick Cuboids (jak 2x3x4 ; 3x4x5 ; 2x3x5; itp.) - Występują w postaci Nx (N + O) x (N + P), które podobnie jak zwykłe prostopadłościany Domino mają albo dwa dziwne wymiary, a parzystą, lub dwa parzyste i nieparzyste; ale nie mają takich samych wymiarów.
- Ultimate Shapeshifters (jak 2x4x6 ; 3x5x7; 2x4x10; itd.) - Występują w postaci Nx (N + O) x (N + R) i zmieniają kształty w dowolnym kierunku. Wszystkie trzy wymiary są albo nieparzyste, albo parzyste; ale nie mają takich samych wymiarów.
Wyzwanie:
Wejście:
Dodatnia liczba całkowita n z następującym ograniczeniem: 8 <= n <= 125.
n można jednoznacznie zdekodować jako iloczyn trzech wartości (wymiarów), z których każda zawiera się między 2 a 5 włącznie.
Powodem, dla którego ograniczyłem go do 2-5, jest zapobieganie powielaniu danych wejściowych (takich jak 1x2x4 = 8
i 2x2x2 = 8
), mimo że istnieje wiele prostopadłościanów niższego / wyższego rzędu . Oznacza to również, że nie ma przypadków testowych dla Ultimate Shapeshifters.
Przypadki wyjściowe / testowe:
Są to wszystkie przypadki, które powinien obsługiwać Twój program / funkcja, od długości krawędzi od 2 do 5 w każdej możliwej konfiguracji trójwymiarowej:
Input Cuboid/Cube Type/Output
8 2x2x2 Cube
12 2x2x3 Regular Domino Cuboid
16 2x2x4 Shapeshifter Cuboid
20 2x2x5 Regular Domino Cuboid
18 2x3x3 Regular Domino Cuboid
24 2x3x4 Brick Cuboid
30 2x3x5 Brick Cuboid
32 2x4x4 Floppy Cuboid
40 2x4x5 Brick Cuboid
50 2x5x5 Regular Domino Cuboid
27 3x3x3 Cube
36 3x3x4 Regular Domino Cuboid
45 3x3x5 Shapeshifter Cuboid
48 3x4x4 Regular Domino Cuboid
60 3x4x5 Brick Cuboid
75 3x5x5 Floppy Cuboid
64 4x4x4 Cube
80 4x4x5 Regular Domino Cuboid
100 4x5x5 Regular Domino Cuboid
125 5x5x5 Cube
Zasady konkursu:
- Każde wejście inne niż kostka / prostopadłościan w zakresie 8-125 powinno skutkować „brakiem” jako wyjście.
- Format wyjściowy jest twoim własnym wyborem. Myślę, że najbardziej rozsądne są liczby całkowite, takie jak
0
= „none”;1
= Kostka;2
= Zwykły prostopadłościan domina;3
= Prostopadłościan zmiennokształtny;4
= Floppy Cuboid;5
= Cegła Prostopadłościan. Każdy inny format wyjściowy jest również w porządku, pod warunkiem, że określisz, którego użyłeś.
Główne zasady:
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach.
Nie pozwól, aby języki gry w golfa zniechęcały Cię do publikowania odpowiedzi w językach niekodujących golfa. Spróbuj znaleźć możliwie najkrótszą odpowiedź na „dowolny” język programowania. - Do odpowiedzi mają zastosowanie standardowe reguły , więc możesz używać STDIN / STDOUT, funkcji / metody z odpowiednimi parametrami, pełnych programów. Twoja decyzja.
- Domyślne luki są zabronione. ( UWAGA: Ponieważ nie wiem, czy istnieje inteligentna formuła konwersji danych wejściowych na wyjściowe, dozwolone jest kodowanie odpowiedzi na podstawie danych wejściowych ).
- Jeśli to możliwe, dodaj link z testem swojego kodu.
- W razie potrzeby dodaj również wyjaśnienie.
24
), Więc nie wiem, co chcesz na ten temat uporządkować?