Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
WIPING56 - Choinka |
Zadanie eliminacyjne w konkursie WIPING5 organizowanym przez
Wydział Informatyki Zachodniopomorskiego Uniwersytetu Technologicznego w Szczecinie
Choinka
W związku ze zbliżającymi się Świętami, Twoim zadaniem będzie napisanie programu, który narysuje ozdobioną choinkę zgodnie z poniższymi wytycznymi.
Choinka składa się z n-1 poziomów podstawowych (rozdzielonych pustym wierszem), gwiazdki na szczycie (poziom specjalny – symbol „*” i brak pustego wiersza po nim) oraz pnia („H” - elementy pnia również nie są rodzielane pustymi wierszami). Wysokość pnia zależy od liczby poziomów w choince zgodnie z wartością daną wzorem 0.25*n i zaokrągloną w dół, przy czym pień nie może być niższy niż 1 oraz wyższy niż 4.
Na choince występują ozdoby wg schematu (i – oznaczenie danego poziomu, przy czym gwiazdka znajduje się na poziomie 0, j – pozycja na danym poziomie indeksowana od 0, gdzie zero to początek wiersza; oznacza to, że we wszystkich wierszach - oprócz najniższego poziomu - na początkowych pozycjach znajdują się spacje, a elementy znajdować się będą dopiero na kolejnych pozycjach):
- dla gałązek na lewo od pnia:
- jeśli (ik+j) mod 9 = 0, to na choince umieszczona jest świeczka oznaczona symbolem „i”,
- jeśli (ik+j) mod 6 = 0, to na choince umieszczona jest bombka oznaczona symbolem „o”,
- jeśli (ik+j) mod 3 = 0, to na choince umieszczona jest e-bombka oznaczona symbolem „@”,
- dla gałązek na prawo od pnia:
- jeśli (ik+j+1) mod 9 = 0, to na choince umieszczona jest świeczka oznaczona symbolem „i”,
- jeśli (ik+j+1) mod 6 = 0, to na choince umieszczona jest bombka oznaczona symbolem „o”,
- jeśli (ik+j+1) mod 3 = 0, to na choince umieszczona jest e-bombka oznaczona symbolem „@”,
gdzie k to wykładnik podany na wejściu.
Należy pamiętać, że ozdoby nie mogą znajdować się na skraju choinki, gwieździe na szczycie oraz na pniu. Dodatkowo, jeśli w jednym miejscu można zawiesić wiele ozdób, to świeczka ma pierwszeństwo przed bombką, a bombka ma pierwszeństwo przed e-bombką. Oznacza to, że np. jeśli w danym miejscu można powiesić zarówno świeczkę jak i bombkę, to zawieszona zostaje świeczka itd.
Środek choinki składa się z znaków „|” i prowadzi od pnia do gwiazdy na szczycie. Wszystkie pola na choince, które nie są wypełnione opisanymi powyżej znakami, uzupełniane są:
- na lewo od środka choinki znakiem „>”,
- na prawo od środka choinki znakiem „<”.
Wejście
Jeden wiersz zawierający dwie liczby całkowite, rozdzielonę spacją:
- n - liczba poziomów choinki (1 <= n <= 100)
- k - wykładnik (opisany wcześniej: 1 <= k <= 10)
Wyjście
- otrzymana choinka :)
Przykład
Wejście:
8 4
Wyjście:
*
>|<
>>|<<
>>@|i<<
>>i>|<<@<
>>>i>|<<o<<
>>@>>o|i<<o<<
>>i>>o>|<<i<<@<
H
H
Informacje dodatkowe:
- program zostanie uruchomiony 10 razy dla różnych zestawów danych
- każde poprawne rozwią zanie daje 10% punktacji zadania
- zadanie ma wartość punktową 3,0
Dodane przez: | Sławomir Wernikowski |
Data dodania: | 2016-12-09 |
Limit czasu wykonania programu: | 1s |
Limit długości kodu źródłowego | 2500B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | C-CLANG C CSHARP C++ 4.3.2 CPP CPP14 CPP14-CLANG C99 JAVA PAS-GPC PAS-FPC PERL PERL6 PHP PYTHON PYPY PYTHON3 PY_NBC RUBY |