Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

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

 0
--
10

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łowego2500B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:C-CLANG C CSHARP CPP C++ 4.3.2 CPP14-CLANG CPP14 C99 JAVA PAS-GPC PAS-FPC PERL PERL6 PHP PYTHON PYPY PYTHON3 PY_NBC RUBY
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.