Różnice między wybraną wersją a wersją aktualną.
Poprzednia rewizja po obu stronach Poprzednia wersja Nowa wersja | Poprzednia wersja | ||
pp:pp1:zadania:wyzwania [05/01/2018 19:14] Tomasz Jaworski [Zadanie 11.6 - Dawno, dawno temu (termin 7 stycznia, 23:59)] |
— (aktualna) | ||
---|---|---|---|
Linia 1: | Linia 1: | ||
- | ====== Wyzwania weekendowe ====== | ||
- | |||
- | {{indexmenu_n> | ||
- | W tym dziale będą pojawiały się, co tydzień w piątek, nowe wyzwania programistyczne. Zadania te są __nieobowiązkowe i przeznaczone jedynie dla ochotników__, | ||
- | |||
- | Czas na wykonanie każdego z wyzwań weekendowych upływa w **niedzielę**, | ||
- | |||
- | **Życzymy powodzenia! :)** | ||
- | |||
- | ====Wyniki (runda VI) ==== | ||
- | <spoiler |Wyniki> | ||
- | ^ Nazwisko | ||
- | | Kowalski | ||
- | | Ałaszewski | ||
- | | Franas | ||
- | | Muras | Wojciech | ||
- | | Górkiewicz | ||
- | | Stępień | ||
- | | Ogłoza | ||
- | | Węgrzyński | ||
- | | Zalewski | ||
- | | Okrasa | ||
- | | Sykuła | ||
- | | Świstak | ||
- | | Wiśniewski | ||
- | | Gralewski | ||
- | | Dziuda | ||
- | | Zieliński | ||
- | | Ćwiek | ||
- | | Świderski | ||
- | |||
- | Wartość **+1** w zadaniu //Enigma// oznacza punkt bonusowy za spostrzegawczość :) | ||
- | Wartość **+1** w zadaniu //Cuda// oznacza punkt bonusowy za wykorzystanie rekurencji. | ||
- | |||
- | </ | ||
- | |||
- | ====Zadanie 11.1 - Wędrowiec (termin 3 grudnia, 23:59) ==== | ||
- | Napisz program, który pobierze od użytkownika tablicę o wymiarach 30 x 30, a następnie odnajdzie drogę prowadzącą z punktu (0,0) do punktu (29, 29). Komórki, po których można się poruszać są oznaczone wartościami 1 we wczytanej macierzy. Z punktu startowego do końcowego prowadzi wyłącznie jedna droga, bez ślepych zaułków. Program ma wypisać, w kolejnych liniach, współrzędne wszystkich komórek, jakie odwiedził w drodze z punktu startowego do mety włącznie z nimi. | ||
- | |||
- | <spoiler |Przykład> | ||
- | Przykładowe wejście: | ||
- | <code c> | ||
- | 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 | ||
- | 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||
- | 0 0 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 | ||
- | 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||
- | 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | ||
- | 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 | ||
- | 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 | ||
- | 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 | ||
- | 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 | ||
- | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 1 0 | ||
- | 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | ||
- | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 | ||
- | 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | ||
- | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 | ||
- | 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | ||
- | 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 | ||
- | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 | ||
- | 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 | ||
- | 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 | ||
- | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | ||
- | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | ||
- | 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 | ||
- | 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 | ||
- | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 | ||
- | 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | ||
- | 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 | ||
- | 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 | ||
- | 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 | ||
- | 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 | ||
- | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 | ||
- | </ | ||
- | |||
- | Przykładowe wyjście: | ||
- | <code c> | ||
- | 0 0 | ||
- | 0 1 | ||
- | 0 2 | ||
- | 1 3 | ||
- | 1 4 | ||
- | 2 5 | ||
- | 3 5 | ||
- | 4 6 | ||
- | 5 6 | ||
- | 6 6 | ||
- | 7 7 | ||
- | 6 8 | ||
- | 5 8 | ||
- | 4 9 | ||
- | 3 10 | ||
- | 2 11 | ||
- | 1 12 | ||
- | 2 13 | ||
- | 2 14 | ||
- | 3 15 | ||
- | 4 15 | ||
- | 5 15 | ||
- | 6 16 | ||
- | 6 17 | ||
- | 7 18 | ||
- | 7 19 | ||
- | 7 20 | ||
- | 7 21 | ||
- | 7 22 | ||
- | 7 23 | ||
- | 8 24 | ||
- | 8 25 | ||
- | 8 26 | ||
- | 9 27 | ||
- | 9 28 | ||
- | 10 29 | ||
- | 11 29 | ||
- | 12 29 | ||
- | 13 29 | ||
- | 14 29 | ||
- | 15 29 | ||
- | 16 29 | ||
- | 17 29 | ||
- | 18 29 | ||
- | 19 29 | ||
- | 20 29 | ||
- | 21 29 | ||
- | 22 29 | ||
- | 23 29 | ||
- | 24 29 | ||
- | 25 29 | ||
- | 26 29 | ||
- | 27 29 | ||
- | 28 29 | ||
- | 29 29 | ||
- | </ | ||
- | </ | ||
- | |||
- | ====Zadanie 11.2 - Enigma (termin 10 grudnia, 23:59) ==== | ||
- | |||
- | *** DEPESZA Z CENTRALI WYWIADU *** | ||
- | |||
- | Udało nam się przechwycić komunikat przesłany przez naszych wrogów. Niestety, jest on zakodowana. Nasz agent, zakonspirowany w sztabie wroga, dostarczył nam jedno z użytych słów w tekście. Przekazał nam również cenną wskazówkę - nasz przeciwnik nie jest zbyt biegły w dziedzinie kryptografii. Przypuszcza się, iż tekst jest zaszyfrowany pewną wariacją szyfru Cezara, gdzie długość klucza jest mniejsza o jeden od długości znanego nam wyrazu a szyfrowanie polega na zmianie wartości kolejnych znaków na podstawie kolejnych liczb klucza. | ||
- | |||
- | Czy dasz radę pomóc swojej Ojczyźnie i odszyfrować przechwyconą wiadomość? | ||
- | |||
- | <spoiler |Przykład> | ||
- | Przykładowe wejście: | ||
- | <code c> | ||
- | Podaj tekst: | ||
- | Uvzkk kkcu nooktio ob unlpjyxbti ufqcu | ||
- | Podaj uzyte slowo: | ||
- | tekst | ||
- | </ | ||
- | |||
- | Przykładowe wyjście: | ||
- | <code c> | ||
- | Tutaj jest miejsce na odkodowany tekst | ||
- | </ | ||
- | </ | ||
- | |||
- | ====Zadanie 11.3 - Αριθμομηχανή (termin 17 grudnia, 23:59) ==== | ||
- | |||
- | W starożytnej Grecji mieliśmy powiedzenie „Kto nie liczy ten nie je” (które później ewoluowało do „Kto nie koduje w C ten nie je”). Rozumiał je Archimedes, krzycząc Heureka! Rozumieli je wszyscy. Brutalnie przekonał się o tym król perski Kserkses, który źle policzył przewagę swoich sił pod Termopilami. Aby nie popełnić jego błędu, musisz zrozumieć, co naprawdę oznacza „liczyć” a następnie nauczyć tego swój komputer. Bądź jak Pitagoras! :) | ||
- | |||
- | <spoiler |Przykład> | ||
- | Przykładowe wejście: | ||
- | <code c> | ||
- | Podaj wyrażenie: | ||
- | 4+88-69-3+75+53+89/ | ||
- | </ | ||
- | |||
- | Przykładowe wyjście: | ||
- | <code c> | ||
- | -1056 | ||
- | </ | ||
- | </ | ||
- | |||
- | ====Zadanie 11.4 - Cuda (termin 24 grudnia, 23:59) ==== | ||
- | Święta to czas cudów. Spotykamy się w cudownie miłej atmosferze, jemy cudownie pysznego karpia. Wyczekujemy cudowniej pierwszej gwiazdki. Nieco inaczej ma Święty Mikołaj. W ciągu jednego wieczora musi odwiedzić miliardy dzieci w miliardach domów, rozdać miliardy prezentów pod miliardy choinek. | ||
- | Pomóż więc Mikołajowi w dodawaniu tych wielkich liczb i napisz program, który zrobi to za niego. | ||
- | |||
- | <spoiler |Przykład> | ||
- | Przykładowe wejście: | ||
- | <code c> | ||
- | Podaj pierwsza liczbe: 90467506859757021571 | ||
- | Podaj druga liczbe: 42901800079275915926 | ||
- | </ | ||
- | <code c> | ||
- | 133369306939032937497 | ||
- | </ | ||
- | </ | ||
- | |||
- | |||
- | ====Zadanie 11.5 - Prezent (Wyzwanie Świąteczne, | ||
- | |||
- | Pomysły na prezenty, jakie mają dzieci, są różne jak Świat długi i szeroki. | ||
- | Antoś z Krakowa chce konsole, Marysia z Warszawy latawiec a Gosia z Sosnowca nowy rowerek. | ||
- | Z tymi prezentami Mikołaj nie ma problemu ale czasem zdarzają się dzieci bardziej wymagające. | ||
- | W tym roku Mikołaj natrafił na Piotrusia i Tomusia z Łodzi, którzy chcieli dostać pod choinkę program komputerowy. | ||
- | A ponieważ dzieci są małe, nie potrafiły w pełni przekazać Mikołajowi, | ||
- | Dostarczyły tylko to: | ||
- | |||
- | <spoiler |Przykład> | ||
- | Przykładowe wejście: | ||
- | <code c> | ||
- | Podaj liczbe linii: 8 | ||
- | Podaj tekst: Drodzy Studenci! | ||
- | Zyczymy Wam spokojnych Swiat Bozego Narodzenia, | ||
- | spedzonych razem z bliskimi | ||
- | w cieplej i rodzinnej atmosferze. | ||
- | A w nadchodzacym Nowym Roku zyczymy Wam energii, | ||
- | sukcesow w realizacji upragnionych marzen | ||
- | oraz cierpliwosci i wytrwalosci w pracy nad soba! | ||
- | Piotr Duch i Tomasz Jaworski | ||
- | Podaj zakodowane hasło: | ||
- | 107327110719305104118530 120718223140619 | ||
- | </ | ||
- | |||
- | Przykładowe wyjście: | ||
- | <code c> | ||
- | Wesolych Swiat | ||
- | </ | ||
- | </ | ||
- | Mikołajowi pomysł bardzo się spodobał, więc zlecił prace nad prezentem swoim Elfom - Wam, drodzy Studenci. Czy podołacie zadaniu i sprawicie radość dwójce małych urwisów? | ||
- | |||
- | Mamy nadzieję, że tak :-) | ||
- | |||
- | |||
- | |||
- | ====Zadanie 11.6 - Blobik (termin 1 stycznia, 23:59) ==== | ||
- | |||
- | Napisz program który, dla podanego obrazu o wymiarach z zakresu 1x1 - 50x50 punktów, znajdzie i wyświetli wszystkie obiekty nie będące tłem. Wartości punktów tła to 0 a obiektów to 1. Obiektów może być wiele. | ||
- | Program powinien poprosić o dwie liczby całkowite: wysokość i szerokość obrazu a następnie wczytać wartości kolejnych punktów. Jako wynik program ma wyświetlić liczbę znalezionych obiektów a następnie wyświetlić informacje o każdym obiekcie. | ||
- | Te informacje to: jego numer (1, 2...), powierzchnia, | ||
- | Przed wyświetleniem obiekty należy posortować ze względu na współrzędne środa, w porządku: od góry do dołu, od lewej do prawej. | ||
- | |||
- | Przyjmij następujące założenia: | ||
- | |||
- | - Układ współrzędnych do liczenia środka ciężkości ma 0,0 w lewym górny rogu obrazu (pierwsza liczba), wartość X zwiększa się od lewej do prawej, wartość Y zwiększa się z góry na dół | ||
- | - Punkt należy do obiektu wtedy i tylko wtedy, gdy leży nad/pod/na lewo/na prawo od dowolnego punktu należące do do tego obiektu | ||
- | Przykład: | ||
- | |||
- | <code c> | ||
- | Jeden obiekt | ||
- | # # | ||
- | ### | ||
- | # # | ||
- | </ | ||
- | |||
- | |||
- | <spoiler |Przykład> | ||
- | |||
- | Wejście: | ||
- | <code c> | ||
- | 5 5 | ||
- | 0 0 0 0 0 | ||
- | 0 1 0 1 0 | ||
- | 0 0 0 0 0 | ||
- | 0 1 0 1 0 | ||
- | 0 0 0 0 0 | ||
- | </ | ||
- | |||
- | Wyjście: | ||
- | <code c> | ||
- | Liczba obiektow: 4 | ||
- | Obiekt 1 powierzchnia p=1 srodek ciezkosci x=1.00 y=1.00 | ||
- | Obiekt 2 powierzchnia p=1 srodek ciezkosci x=3.00 y=1.00 | ||
- | Obiekt 3 powierzchnia p=1 srodek ciezkosci x=1.00 y=3.00 | ||
- | Obiekt 4 powierzchnia p=1 srodek ciezkosci x=3.00 y=3.00 | ||
- | </ | ||
- | </ | ||