Adam7 to algorytm z przeplotem dla obrazów rastrowych, takich jak PNG. Nazywa się to algorytmem „Adam7”, ponieważ został wymyślony przez Adama M. Costello, i jest generowany poprzez wykonanie określonego wzorca 7 razy. Jedną z fajnych rzeczy w algorytmie Adam7, która sprawia, że gra w golfa jest naprawdę przyjemna, jest to, że wzorzec można powtarzać dowolną liczbę razy, o ile jest on dziwny. W 1996 r., Kiedy opracowano PNGstandard, użycie tylko 7 iteracji było postrzegane jako wystarczające, ponieważ 9 iteracji było zbyt skomplikowanych, a 5 iteracji nie jest tak wydajnych.
Oto pierwsza iteracja kafelka:
a
Dość proste. To jest kafelek „Adam1”. Oto, w jaki sposób przechodzimy do następnej iteracji, kafelka „Adam3”.
Ponieważ nasza ostatnia płytka była 1x1, podwajamy wysokość i szerokość, a następna będzie 2x2. Najpierw zaczynamy od litery „a” w lewym górnym rogu.
a-
--
Krok 2, skopiuj ten wzór w prawo i zwiększ literę o jeden.
ab
--
Krok 3, tak samo jak krok 2, ale skopiuj w dół zamiast w prawo.
ab
cc
Bum. Kafelek „Adam3”. Zróbmy też „Adam5”, abyś mógł zobaczyć, jak działa algorytm. Ta płytka znów będzie dwukrotnie większa, więc 4x4. Ponownie zaczynamy od aw lewym górnym rogu:
a---
----
----
----
Podwój ten wzór, zwiększ literę i przesuń ją w prawo:
a-b-
----
----
----
Znowu tym razem w dół.
a-b-
----
c-c-
----
Znowu tym razem w prawo.
adbd
----
cdcd
----
Znowu tym razem w dół.
adbd
eeee
cdcd
eeee
To jest kafelek „Adam5”. Oto reprezentacja ASCII kafelka Adam7:
afdfbfdf
gggggggg
efefefef
gggggggg
cfdfcfdf
gggggggg
efefefef
gggggggg
A skoro już to robimy, oto zabawna animacja każdego kroku kafelka Adam7 (chociaż robi kilka płytek obok siebie):
Wyzwanie
Biorąc pod uwagę dodatnią liczbę nieparzystą N , wyślij płytkę „Adam N ”. Możesz użyć dowolnej domyślnej metody We / Wy . Ponieważ zamiast liczb używamy alfabetu, musisz obsługiwać tylko dane wejściowe o długości do 25. Możesz wybrać, aby wypisywać małe lub duże litery, o ile określisz i jest to spójne.
Próbka IO
1:
a
3:
ab
cc
5:
adbd
eeee
cdcd
eeee
7:
afdfbfdf
gggggggg
efefefef
gggggggg
cfdfcfdf
gggggggg
efefefef
gggggggg
9:
ahfhdhfhbhfhdhfh
iiiiiiiiiiiiiiii
ghghghghghghghgh
iiiiiiiiiiiiiiii
ehfhehfhehfhehfh
iiiiiiiiiiiiiiii
ghghghghghghghgh
iiiiiiiiiiiiiiii
chfhdhfhchfhdhfh
iiiiiiiiiiiiiiii
ghghghghghghghgh
iiiiiiiiiiiiiiii
ehfhehfhehfhehfh
iiiiiiiiiiiiiiii
ghghghghghghghgh
iiiiiiiiiiiiiiii
Jak zwykle jest to gra w golfa, więc obowiązują standardowe luki i wygrywa najkrótsza odpowiedź w bajtach!

ctestcase9?