Zadania
Transkrypt
Zadania
Zadanie 1 Pary z klasą Na podstawie danych zgromadzonych w pewnym popularnym portalu internetowym szkolny detektyw próbuje rozwiązać pewną zagadkę. W tym celu potrzebna jest mu odpowiedź na pytanie: czy dla pewnych ustalonych dwóch osób X i Y, pierwszej z klasy A, drugiej z klasy B, istnieje ciąg par osób o następujących własnościach: − każda para składa się ze znających się wzajemnie osób - jednej z klasy A a drugiej z klasy B − w kolejnych parach ciągu jedna osoba się zawsze powtarza a druga ma numer sąsiadujący na liście z numerem odpowiedniej osoby ze swojej klasy z poprzedniej pary (numer mniejszy lub większy o 1) − w pierwszej parze znajduje się osoba X, zaś w ostatniej osoba Y. Dane wejściowe: Pierwsza linia strumienia wejściowego zawiera cztery liczby naturalne n, m, x, y (z przedziału 1100, oddzielone spacją) oznaczające odpowiednio ilość osób w klasie A, ilość osób w klasie B, numer na liście osoby X w klasie A i numer osoby Y w klasie B. Kolejne n linii ma postać listy numerów osób z klasy B, które są znajomymi odpowiedniej osoby z klasy A – w przypadku braku jakiejkolwiek znajomości, występuje tu pusta linia. Dane wyjściowe: Wartość 0 gdy ciąg nie istnieje, lub długość najkrótszego możliwego ciągu w przeciwnym przypadku. Przykład: Dane wejściowe: 10 12 2 9 3 5 2 3 8 10 12 2 4 5 6 8 2 3 4 6 10 6 9 2 3 6 8 9 12 4 6 7 8 10 ---pusta linia--3 5 7 9 10 2 3 6 7 Dane wyjściowe: 16 Zadanie 2 Pogubione nawiasy Pewna księgowa dostała wydruk, który na skutek błędu drukarki nie zawiera znaków oznaczających nawiasy – pozostały jedynie liczby (naturalne) i znaki operacji: dodawania, odejmowania i mnożenia. Mimo to postanowiła tak dobrać ustawienie nawiasów aby wynik kluczowej formuły był jak największy. Zadanie polega na zaimplementowaniu takiego właśnie sposobu rozstawienia nawiasów dla zadanego ciągu liczb i operacji. Należy używać nawiasów dla każdej bez wyjątku operacji, tzn. poprawna forma wyrażenia zwykle zapisywanego tradycyjnie jako a+2*b to a+(2*b). 15 Można założyć, że wynik operacji nigdy nie przekroczy ± 2 . Dane wejściowe: Jedna linia zawierająca ciąg liczb naturalnych przedzielonych znakami dwuargumentowych operacji arytmetycznych (+,-,*) - bez spacji. Dane wyjściowe: W pierwszej linii maksymalna wartość wyrażenia możliwa do uzyskania po zastosowaniu nawiasów. W drugiej linii realizująca tę wartość formuła zapisana wraz z nawiasami. Nawiasy nie powinny otaczać podwyrażeń zbudowanych tylko z samych liczb, np. (123) ani całej formuły, np. (6*(2+3)). Przykład: Dane wejściowe: 2*7-3+1-10+2+3-11*2 Dane wyjściowe: 116 (2*(7-(((3+1)-((10+2)+3))-11)))*2 Zadanie 3 Nowa Ziemia Król dowiedział się, że Wielki Podróżnik odkrył niezmierzone tereny Nowego Świata. Władca chce nagrodzić swe najwierniejsze sługi przydziałami ziemi. Aby podkreślić swoją wspaniałomyślność, w aktach nadania prostokątnych działek, długości ich mają być podane w nowych jednostkach „gruwsach” (1 gruws = 1 grubość włosa). Aby jednak można było w miarę szybko określać powierzchnię przydzielonej ziemi (działki mniejsze od 10256 gruwsa kwadratowego), nakazał swemu nadwornemu Informatykowi przygotować Mózg Elektronowy do wykonywania odpowiednich mnożeń. Napisz program wykonujący mnożenie dwóch liczb naturalnych mniejszych od 10256. Jeśli wynik mnożenia jest mniejszy od 10256, to program zwraca iloczyn tych liczb, a w przeciwnym przypadku zwraca wartość -1. Dane wejściowe: W dwóch liniach wpisane w zapisie dziesiętnym dwie liczby naturalne mniejsze od 10256. Dane wyjściowe: Liczba naturalna będąca wynikiem mnożenia liczb wejściowych, lub wartość -1. Przykład: Dane wejściowe: 12345678901234567890 111222333444555666777888999 Dane wyjściowe: 1373115215352526736736736723017942620149642110 Zadanie 4 Plan twierdzy Król postanowił zbudować twierdzę. Kazał Wielkiemu Architektowi zaplanować położenie baszt zamku zewnętrznego i wewnętrznego. Ten przedstawił królowi wypisane na kartce współrzędne punktów, w których mają stanąć wieże. Władcę rozgniewała forma przedstawienia wyników pracy (spodziewał się przynajmniej prezentacji) i kazał w trybie natychmiastowym ukarać Architekta. Po niewczasie zreflektował się – Wielki Architekt był naprawdę wielkim specjalistą, ale jego głowa zawisła już na palu. Król wezwał Wielkiego Budowniczego i wręczając kartkę z położeniem baszt kazał postawić mury. Budowniczy wiedział tylko, że obrysy zamku zewnętrznego i wewnętrznego są wielokątami wypukłymi. Nie mógł jednak z tego wywnioskować, które baszty ma połączyć murami, poprosił więc Ciebie o pomoc w rozwiązaniu tego problemu. Dane wejściowe: W pierwszej linii liczba n określająca ilość baszt, n<100. W następnych wierszach pary liczb rzeczywistych xi yi oddzielonych spacjami oznaczające współrzędne i-tej baszty (i=1…n) Dane wyjściowe: W jednej linii wypisane w kolejności rosnącej numery baszt zamku wewnętrznego. Liczby oddzielone spacjami. Przykład : Dane wejściowe: 9 1 0.1 33 35 28 50 6.0 6 45 05 24 Dane wyjściowe: 2379 Zadanie 5 Spotkanie Czterech przyjaciół: człowiek Aragorn, krasnolud Gimli, hobbit Frodo i elf Legolas umówiło się na spotkanie. Każdy z nich znajduje się obecnie w takiej samej odległości w linii prostej od punktu spotkania. Mapa terenu, po którym się poruszają ma kształt kwadratu o boku długości n pól, a każdy z podróżników znajduje się w innym jego rogu. Miejsce spotkania znajduje się w środku mapy. Przyjaciele mogą poruszać się tylko w pionie i w poziomie. Przejście jednego pola na nizinie zajmuje każdemu z podróżników jeden dzień. Ale na swojej drodze mogą oni napotkać rzekę, pagórek, górę lub las. Niestety, rzeźba terenu nie jest jednakowo lubiana przez każdego z nich. Zależnie od niej czas podróży wydłuża się lub skraca. Poniżej w tabelce podane jest o ile skraca (wydłuża się) podróż zależnie od rasy podróżnika i od rzeźby terenu (dane w dniach). Należy obliczyć, który z podróżników najszybciej może dotrzeć do miejsca spotkania i ile dni mu to zajmie. Nizina 0 0 0 0 Aragorn Legolas Frodo Gimli Las +0.5 -0.5 0 +1 Rzeka -0.5 0 +1 +0.5 Pagórek 0 +0.5 -0.5 0 Góra +1 +1 +0.5 -0.5 Dane wejściowe: Pierwsza linia to długość boku mapy wyrażona liczbą pól 5<n<99 i n jest nieparzyste. W kolejnych n liniach opis pól mapy, gdzie: N – nizina, L – las, P – pagórek, G – góra, R – rzeka. Kolejne cztery linie to identyfikator osoby (A, G, F, L – pierwsza litera imienia) i współrzędne startowe podróżnika. Należy pamiętać, że mapa jest indeksowana od dolnego lewego rogu i kolejne linie pliku są zgodne z takim zapisem (tzn. pierwszy wiersz mapy w pliku oznacza dolny – „południowy” kraniec mapy). Czas przejścia pola liczony jest z chwilą wejścia podróżnika na dane pole. Rysunek ilustruje sposób obliczeń. Dane wyjściowe: W pierwszej linii identyfikator osoby (lub identyfikatory osób), która dotrze najszybciej, w drugiej linii liczba dni, które zużyła na pokonanie drogi. Przykład: Dane wejściowe: 13 N N N N R N N N L L R N N N L R L P L N R L G P N N R G P L N R P G P N R N R N L N R N N R N N N P P R N L P G G R N N N P L L R N N N N P N R N N P G P R A 1 13 G 13 13 F 1 1 L 13 1 N P N N L N N N N N L N N N N N N P P N L P L L N R R R R R N G N N G L L R N N N L L R G P N P R R N N N L L L L R N R R P P N L N N N L N N R N N G G N N N N N N N R N N N P G N N Dane wyjściowe: L 9.5 Zadanie 6 Antyterrorysta Terroryści zaminowali wszystkie budynki w mieście i grożą ich wysadzeniem. Na szczęście dzielny porucznik John McClain przy pomocy Drużyny Inteligentów Eliminujących Hordy Aktywnych Rzezimieszków i Drani (DIEHARD) zdobył urządzenie zwane Detonatorem pozwalające na unicestwienie dowolnego materiału wybuchowego. Promienie Detonatora przenikają wszystkie znane materiały budowlane. Są na tyle silne, że mogą przeniknąć wiele budynków stojących jeden za drugim. Niestety, mają też wadę – są dość silnie kierunkowe. Ale wystarczy, aby musnęły budynek, a znajdujące się w nim bomby stają się kupą żelastwa. Znając rozkład budynków w mieście należy znaleźć minimalną ilość uruchomień Detonatora potrzebną do unicestwienia wszystkich bomb w mieście. Zakładamy, że porucznika z Detonatorem zrzucono dokładnie w punkcie początku układu współrzędnych i nie może on się przemieszczać (tylko obracać wokół osi). Budynki mogą się stykać jedynie wierzchołkami i żaden z nich nie obejmuje punktu zrzutu. Zakładamy, że każdy budynek jest prostokątem o ścianach prostopadłych do osi układu współrzędnych. Dane wejściowe: W pierwszej linii liczba budynków w mieście 2<n<1000. W kolejnych n liniach podane są cztery liczby całkowite z zakresu (-105,105) określające kolejno: współrzędne xl, yl lewego dolnego rogu budynku i xp, yp górnego prawego rogu budynku. Dane wyjściowe: Minimalna liczba uruchomień Detonatora. Przykład: Dane wejściowe: 13 -10 7 -8 10 -6 5 -5 9 -2 6 4 8 1 3 3 5 10 5 15 7 7 1 11 3 -8 1 -3 3 -6 -5 -3 -2 -6 -8 -2 -6 -9 -12 -7 -10 1 -5 2 -1 3 -8 5 -3 7 -9 9 -7 Dane wyjściowe: 5 Ilustracja do przykładu: