Zadanie 1 – cyfry Jaś lubi bawić się cyframi. Ostatnio zlicza

Transkrypt

Zadanie 1 – cyfry Jaś lubi bawić się cyframi. Ostatnio zlicza
Zadanie 1 – cyfry
Jaś lubi bawić się cyframi. Ostatnio zlicza ile każda z cyfr pojawia się w numeracji książki od
matematyki. I tak sprawdził, że od strony 3 do 15, 0 występuje 1 raz a 1 występuje aż 7 razy. Napisz
funkcję CYFRY :p :k, która zwróci informację o liczbie wystąpień każdej z cyfr od strony :p do :k.
wynikiem CYFRY 3 15 jest [1 7 1 2 2 2 1 1 1 1]
Zadanie 2 – pocztówki
Na prostokątnej tablicy korkowej położonej poziomo, o rozmiarze maksymalnie 70 na 40, rozłożono
pocztówki, które mogą pokrywać się częściowo lub całkowicie (ale nie wystają poza tablicę).
Zakładamy, że boki pocztówek są równoległe do boków tablicy. Ułożenie każdej pocztówki i jej
rozmiar opisujemy za pomocą czterech liczb całkowitych: [x1 y1 x2 y2], gdzie [x1 y1], [x2 y2] to
współrzędne dwóch przeciwległych wierzchołków prostokąta. Układ pocztówek można zapisać
w postaci listy, np. [[10 10 20 20] [0 0 20 10] [8 8 12 12]]. Górny lewy róg tablicy ma współrzędne
[0 0].
Jaś chce wiedzieć ile maksymalnie pocztówek przebije jedną pinezką. Napisz funkcję POCZTÓWKI
:opis, która zwróci odpowiedź na pytanie Jasia.
wynikiem POCZTÓWKI [[10 10 20 20] [0 0 20 10] [8 8 12 12]] jest 2
Zadanie 3 – wzorki
Do malowania wzorów na ścianie, opartych na kwadratowej siatce, używany jest szablon z wyciętymi
kwadratowymi oczkami. Mamy do dyspozycji nieskończenie wiele szablonów jednakowego rodzaju.
Szablon do ściany przykładamy tylko raz. Napisz funkcję WZORKI :motyw :szablon, której wynikiem
jest minimalna liczba zużytych egzemplarzy szablonu potrzebna do uzyskania danego wzoru. Jeśli nie
da się uzyskać danego wzoru za pomocą szablonu funkcja zwraca 0.
Przykładowo
wynikiem WZORKI [[z z z z][x x x x][z z z z]] [[z z]] jest 4
wyjaśnienie:





wzór na ścianie obejmuje prostokąt o wymiarach 4x3
pierwszy wiersz wzoru składa się z czterech pól zamalowanych – oznaczonych literą z
drugi wiersz wzoru składa się z czterech pól wolnych – oznaczonych literą x
ostatni, trzeci wiersz jest taki sam, jak pierwszy
mając do dyspozycji szablon o rozmiarze dwóch pól należy go przyłożyć dwukrotnie
w pierwszym i dwukrotnie w trzecim wierszu wzory
uwaga:




w oznaczeniach wzoru i szablonu mogą wystąpić wyłącznie litery z i x
wszystkie wycięte pola szablonu musimy wykorzystać podczas zamalowywania
pole we wzorze możemy zamalowywać wielokrotnie
szablon przykładamy w pionie lub poziomie

nie możemy przewracać szablonu na drugą stronę (lustrzane odbicie), przykładowo:
o szablon [[z z]] = [[z][z]]
o szablon [[z x x][z z z]] = [[z z z][x x z]] = [[z z][z x][z x]], ale [[z x x][z z z]] <> [[z z z][z x
x]]
wynikiem WZORKI [[z z z x]] [[z z]] jest 2
wynikiem WZORKI [[z x z x][x z x z][z x z x][x z x z]] [[z x][z z]] jest 0
wynikiem WZORKI [[z x z x][z z z z][z x z x][x z x z]] [[z z]] jest 4
Zadanie 4 – wycieczka
Ola wybrała się na wycieczkę w góry. Na szczyt, który postanowiła zdobyć, prowadzi wiele dróg
przechodzących przez różne polany. Na polanach drogi mogą się krzyżować. Na każdej polanie,
a także w dolinie, z której Ola rozpoczyna wędrówkę, stoją drogowskazy z nazwą polany pośredniej
(lub szczytu, jeśli jest bezpośrednie wejście na szczyt) oraz czasem przejścia danego fragmentu drogi.
Janek postanowił obliczyć, w jakim czasie najszybciej Ola jest w stanie wejść na szczyt. Oznaczył
dolinę literą d, szczyt literą s, natomiast polany literą p z kolejnymi numerami. Informacje
z drogowskazów zapisywał w postaci list trójelementowych [odMiejsca doMiejsca czasPrzejścia].
Na przykład [p1 p5 30] oznacza, że z polany p1 można przejść bezpośrednio na polanę p5 w czasie 30
minut.
Napisz funkcję DROGA :drogowskazy, której wartością jest minimalny czas wędrówki Oli. Dana
:drogowskazy jest listą list opisujących poszczególne drogowskazy. Zakładamy, że istnieje co najmniej
jedna droga na szczyt. Ola nie błądzi, czyli nie ma drogowskazów, które kierują w kółko przez te same
polany.
Przykłady:
Wynikiem DROGA [[d p1 10][d p2 20][p1 p3 20][p2 p3 5][p2 s 30][p3 s 5]] jest 30,
ponieważ najszybsza droga prowadzi przez polany p2 i p3 - 20+5+5. Przez polany p1 i p3 czas wynosi
35, a tylko przez polanę p2 - 50.

Podobne dokumenty