Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
RTRW2 - Raz tak, raz wspak 2 |
Jasiu postanowił rozszerzyć ofertę (RTRW), w tym celu zakupił nową maszynę drukarską.
Teraz ma większe możliwości, może robić naklejki zewnętrzne i wewnętrzne także w powiększeniu.
W związku z tym szablony muszą być odpowiednio przygotowane w zależności od rodzaju naklejki i wymaganej skali.
Niestety Jasiu i tym razem nie posiada oprogramowania, zwraca się więc z prośbą do Ciebie.
Oto wytyczne: (niech k oznacza skalę naklejki):
1. Każdy szablon musi być przygotowany z wielkich liter alfabetu polskiego (bez znaków diaktrycznych)
lub odbić lustrzanych liter w przypadku naklejek wewnętrznych.
2. Wysokość szablonu (liczba wierszy) jest zależna od skali i wynosi 2*k+1.
3. Każda litera szablonu w skali powiększającej musi posiadać dokładnie k razy więcej znaków nie będących znakami białymi
aniżeli litera posiadająca tych znaków w skali 1:1.
4. Znaki poziomej kreski "_" zwielokrotniane są w poziomie, znaki pionowej kreski "|" należy powielać tylko w pionie,
znaki ukośne: "\" oraz "/" należy powielać po przekątnej zachowując proporcje.
Pozostałe komórki macierzy reprezentującej literę wypełniamy znakami spacji.
5. Jeśli w literze pionowa kreska występuje pod kreską poziomą (trzy litery: j, t, y), to dla naklejki zewnętrznej
rysowanie pionowych kresek należy zacząć w kolumnie: k + [k/2] + 1, gdzie [] oznacza część całkowitą z liczby.
6. Odstęp między literami wynosi k spacji, między wyrazami 3*k spacji.
7. Szablony dla naklejek wewnętrznych to szablony powstałe w wyniku odbicia lustrzanego szablonów dla naklejek zewnętrznych.
//--------------------------------------------------------------------------------------------------
Poniżej zestaw sformatowanych liter dla naklejek zewnętrznych w skali 1:1 i 2:1.
skala 1:1
__ __ __ __ __ __ __ _ __ __ __ __ ___ __
|__| |__\ | | \ |_ |_ | _ |__| | | |_/ | |\/| |\ | | | |__| |__| |__ | | | | | \_/ /
| | |__/ |__ |__/ |__ | |__| | | | _| | \ |__ | | | \| |__| | | \ __| | |__| |/\| | /_
skala 2:1
____ ____ ____ ____ ____ ____ ____ __ | | | \ | | \ | | | | | | | | / | |____| |____ \ | | \ |__ |__ | __ |____| | | |__/ | | | | / | | / | | | | | | | | | \ | | | |____/ |____ |____/ |____ | |____| | | | __ | | \ |____ ____ ____ ____ ____ ______ ____ |\ /| |\ | | | | | | | | | | | | | \ / / | \/ | | \ | | | |____| |____| |____ | | | | | \__/ / | | | \ | | | | | \ | | | | | /\ | | / | | | \| |____| | | \ ____| | |____| |/ \| | / __//--------------------------------------------------------------------------------------------------
Wejście
Wejście składa się z pewnej liczby wierszy (nie więcej niż 100). W każdym wierszu znajduje się jeden zestaw danych.
Każdy zestaw składa się z liczby n, liczby k oraz napisu pod naklejkę.
Liczba n określa rodzaj zamawianej naklejki (1 - zewnętrzna, 2 - wewnętrzna). Jeśli n = 0 należy zakończyć wczytywanie.
Liczba k określa skalę k:1 w jakiej należy przygotować szablon (1 <= k <= 10)
Napis składa się z małych lub wielkich liter alfabetu polskiego (bez znaków diakrytycznych) lub znaku spacji i nie przekracza 1000 znaków.
Wyjście
Sformatowany napis podany na wejściu w zależności od rodzaju naklejki i podanej skali.
Każdy sformatowany napis w "osobnych 2*k+1 wierszach".
Przykład
Wejście
1 1 jeden bajt 1 2 dwa bajty 2 2 dwa bajty 1 3 trzy bajty 0
Wyjście
_ __ __ __ __ __ _ ___ | |_ | \ |_ |\ | |__\ |__| | | _| |__ |__/ |__ | \| |__/ | | _| | ____ ____ ____ ____ __ ______ | \ | | | | | \ | | | | \ / | \ | | |____| |____ \ |____| | | \__/ | / | /\ | | | | / | | | | | |____/ |/ \| | | |____/ | | __ | | | ______ __ ____ ____ ____ ____ \ / | | | | / | | | | | / | \__/ | | |____| / ____| |____| | | / | | | | | | \ | | | | /\ | \ | | | | __ | | \____| | | |/ \| \____| _________ ______ ______ ______ ______ ___ _________ | | | / \ / | \ | | | | \ / | | | / \ / | \ | | | | \ / | |______| / \___/ |______ \ |______| | | \___/ | | \ / | | / | | | | | | | \ / | | / | | | | | | | \ / ___ | |______/ | | ___ | | |
Dodane przez: | Mariusz Śliwiński |
Data dodania: | 2012-07-26 |
Limit czasu wykonania programu: | 1s-4.563s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM64 GOSU |
Pochodzenie: | Własne |