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.