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: