Wprowadzenie
Krótko mówiąc: kilka dni temu przypadkowo zacząłem robić na drutach skarpetę, a dość logiczna struktura prostych ściegów doprowadziła mnie do pomysłu: dlaczego nie zrobimy skarpety ASCII?
Wejście
Dane wejściowe to parzysta liczba całkowita N w zakresie [2,30].
Wynik
Wyjście jest oczywiście skarpetą.
Struktura
Ponieważ będziemy używać tylko ściegów prostych, będziesz używać tylko vściegu w dół i >ściegu po prawej stronie. Pozwól mi wyjaśnić pełną strukturę na przykładzie N=8:
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvv>>>
vvvvvv>>>>>>
vvvvv>>>>>>>>>
vvvv>>>>>>>>>>>>
vvvv>>>>>>>>>>>>>>>>>>>>>>>>
vvvv>>>>>>>>>>>>>>>>>>>>>>>>>>
vvvv>>>>>>>>>>>>>>>>>>>>>>>>>>
vvvv>>>>>>>>>>>>>>>>>>>>>>>>
- Pierwszy blok to górna część. Ma szerokość
Ni wysokośćN*1.5 - Następnie zaczyna się pięta. Odejmujesz jeden
vna rząd od prawej strony, aż uzyskaszN/2taką szerokość. Następnie dodajeszN/2rzędy o szerokościN/2poniżej, aby zakończyć dzianiny w dół. Zauważ, że daje w sumieN/2 + 1wiersze o szerokościN/2
pierwsza część:
vvvvvvvv //begin with width N
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv
vvvvvvvv // N*1.5 times
vvvvvvv // reduce
vvvvvv
vvvvv
vvvv // till here
vvvv // repeat N/2 times
vvvv
vvvv
vvvv
- Teraz zaczynają się dzianiny totemów bocznych. Zaczynasz od pierwszego zmniejszonego rzędu, wypełniasz,
>aż uzyskasz szerokośćNi dodajesz dwa kolejne. Kontynuuj ten proces, włączając pierwszy wiersz oN/2szerokości - Wypełnij rzędy poniżej tego poziomu i dodaj do tego
N*1.5czasy> - Pozostaw zewnętrzne części w obecnej postaci i dodaj rząd pod pierwszą i nad laserem jeszcze dwie,
>'saż się skończy
druga część:
vvvvvvvv
vvvvvvv>>> //fill to N and add two >
vvvvvv>>>>>> //repeat
vvvvv>>>>>>>>>
vvvv>>>>>>>>>>>> //till here
vvvv>>>>>>>>>>>>>>>>>>>>>>>> //fill to the row above and add N*1.5 times >
vvvv>>>>>>>>>>>>>>>>>>>>>>>>>> //add two more '>' than the row above
vvvv>>>>>>>>>>>>>>>>>>>>>>>>>> //add two more '>' than the row beneath
vvvv>>>>>>>>>>>>>>>>>>>>>>>>
Zasady
Końcowe nowe linie są w porządku.
Możesz wybierać między wielkimi i małymi literami, Vale musi być spójna.
To jest golf golfowy, więc wygrywa najkrótszy kod w bajtach.
Przypadki testowe
N=2
vv
vv
vv
v>>>
v>>>>>>
N=4
vvvv
vvvv
vvvv
vvvv
vvvv
vvvv
vvv>>>
vv>>>>>>
vv>>>>>>>>>>>>
vv>>>>>>>>>>>>
N=6
vvvvvv
vvvvvv
vvvvvv
vvvvvv
vvvvvv
vvvvvv
vvvvvv
vvvvvv
vvvvvv
vvvvv>>>
vvvv>>>>>>
vvv>>>>>>>>>
vvv>>>>>>>>>>>>>>>>>>
vvv>>>>>>>>>>>>>>>>>>>>
vvv>>>>>>>>>>>>>>>>>>
N=12
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvvv
vvvvvvvvvvv>>>
vvvvvvvvvv>>>>>>
vvvvvvvvv>>>>>>>>>
vvvvvvvv>>>>>>>>>>>>
vvvvvvv>>>>>>>>>>>>>>>
vvvvvv>>>>>>>>>>>>>>>>>>
vvvvvv>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vvvvvv>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vvvvvv>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vvvvvv>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vvvvvv>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vvvvvv>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
vlub Vzamiennie? Zakładam, że w tej chwili vjest to jedyny dozwolony, ale pozwolenie Vwpłynie na liczbę bajtów