Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM OMÓWIENIE ZADAŃ

Podobne prezentacje


Prezentacja na temat: "IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM OMÓWIENIE ZADAŃ"— Zapis prezentacji:

1 IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM OMÓWIENIE ZADAŃ

2 Problem B – Wędrujący klocek Pozycja 2Pozycja 3 3 pozycje x 4 kierunki = 12 wariantów Cechy klocka: Pozycja Położenie, np. lewy, dolny róg Cechy trasy: Pola odwiedzone przez klocek Ruch: Cztery możliwości Pozycja 1

3 Problem B – Wędrujący klocek Pozycja 2Pozycja 3Pozycja 1 Pozycja 2 Pozycja 3 W, x-=dl_kl E, x++ N, y++ S, y-=dl_kl N, y++ S, y- - W, x- - E, x+=dl_kl W, x- - E, x++ S, y- - N, y+=dl_kl Kolejny ruch: Wyznacz nową pozycję Wyznacz nowe położenie klocka Dodaj zajmowane przez klocek pola do listy pól odwiedzonych Ile razy najczęściej klocek znajdował się na jednym polu? Listę odwiedzonych pół przeszukujemy w czasie kwadratowym szukając współrzędnych, które występują najczęściej

4 Problem C – Zagnieżdżone podzbiory Gramatyka bezkontekstowa definiująca zagnieżdżony zbiór liczb naturalnych: Produkcje gramatyki L { E DLista E N | LElement listy D, E D |}Rozwinięcie listy N NC | CLiczba naturalna C 0 | 1 | 2 | … | 9Cyfra {1,2,{3,4,{5,6},7,8}} Przykładowe słowo realizowane przez gramatykę A B C A B CA() {B() C() } A B | C A() {Jeżeli (Pierwszy symbol (B) = s 1 ) B() W przeciwnym wypadku jeżeli (Pierwszy symbol (C) = s 2 ) C() W przeciwnym wypadku Błędne słowo } A s A sA() {Jeżeli (symbol = s) Czytaj kolejny symbol W przeciwnym wypadku Błędne słowo } Reguły konstrukcji parsera dla gramatyk bezkontekstowych:

5 Problem C – Zagnieżdżone podzbiory Reguły realizacji parsera tej gramatyki – konstrukcja funkcji odpowiadających poszczególnym produkcjom L { E D Lista() L { E D { Jeżeli (symbol = { ) Czytaj kolejny symbol W przeciwnym razie Błędne słowo Element_listy() Rozwinięcie_listy() } E N | L Element_listy() E N | L { Jeżeli (symbol = { ) Lista() w przeciwnym razie jeżeli (Liczba naturalna) Przeczytaj tę liczbę w przeciwnym razie Błędne słowo }

6 Problem C – Zagnieżdżone podzbiory D, E D |} Rozwinięcie_listy() D, E D |} { Jeżeli (symbol =, ) Czytaj kolejny symbol Element_listy() Rozwinięcie_listy() w przeciwnym razie jeżeli (symbol = } ) Czytaj kolejny symbol w przeciwnym razie Błędne słowo } Analizuj_słowo() { Czytaj pierwszy symbol Lista() Jeżeli (przeczytane są wszystkie symbole) Poprawne słowo w przeciwnym razie Błędne słowo }

7 Problem A – Terytorium Niech A M N będzie tablicą, w której 1.Jeżeli działka na pozycji (i, j) jest wolna, to A[i, j] = maksymalna powierzchnia wolnego prostokąta o wysokości 1 i skrajnej prawej działce na pozycji (i, j). 2.Jeżeli działka na pozycji (i, j) jest zajęta, to A[i, j] = 0. A = Mając tablicę A łatwo możemy wyznaczyć maksymalny wolny obszar prostokątny o narożniku na pozycji (i, j). Wszystko można robić równocześnie z wczytywaniem danych. Złożoność O(M 2 N). Jest możliwa optymalizacja ze względu na kolejność M i N.

8 Problem D – Cięcie kwadratu A(0,0) B(N,0) C(N, N)D(0,N) E(N, y E ) F(x F, N) AE = [N; y E ] ;EF = [x F – N; N – y E ] AE EF N(x F – N) + y E (N – y E ) = 0 skąd: x F = N – y E + y E 2 /N i zadanie już nie jest geometryczne. Szukamy odpowiedzi na pytanie: dla jakich całkowitych i (1 i N – 1) wyrażenie i 2 /N jest całkowite? Jeżeli N ma następujący rozkład na czynniki pierwsze: to i musi być postaci: Odpowiedzią jest 8(r – 1)

9 Problem E – Wielokąty kratowe Z twierdzenia Picka : W = P – B/2 +1 Wystarczy obliczyć: a)pole P wielokąta b)liczbę B punktów kratowych na brzegu wielokąta Uwaga! Wartości iloczynów x i y i+1 lub x i+1 y i mogą przekraczać zakres typu long.

10 Problem F – Jak dojechać? Szukamy takiego v aby: (av 4 + bv 3 + cv 2 + dv) * (s / v) = m tzn. szukamy miejsca zerowego funkcji f(v) = s(av 3 + bv 2 + cv + d) – m Można zastosować dowolną metodę, np. a)bisekcji; b)Newtona.

11 Problem G – Nieuczciwa gra Załóżmy, że A1 < A2 < A3 oraz B1 < B2 Tylko poniższe przypadki pozwalają zawsze wygrać: 1. A1 < A2 < A3 < B1 < B2- trzecią kartą może być najniższa spośród pozostałych w talii 2. A1 < B1 < A2 < A3 < B2 - wybieramy najniższą większą od A3 (nie istnieje, gdy A3=51) 3. B1 < A1 < A2 < A3 < B2 - jw. 4. A1 < A2 < B1 < A3 < B2 - wybieramy najniższą większą od A2 (nie istnieje, gdy A2=49) 5. A1 < A2 < B1 < B2 < A3- jw.

12 Problem H – Krecia robota Jeśli kopczyki są wierzchołkami grafu, a tunele je łączące – krawędziami, to taki graf jest drzewem. Wniosek: najkrótsza droga jest jedyną drogą łączącą dowolne dwa wierzchołki. Kopczyk poprzedzający nowoutworzony kopczyk możemy nazwać jego rodzicem. Zadanie sprowadza się do znalezienia wspólnego przodka wierzchołków S i T. Sposób numerowania wierzchołków (w grafie skierowanym odpowiada to posortowaniu topologicznemu) pozwala na prosty zapis algorytmu, którego główna część ma postać: if(A[S]


Pobierz ppt "IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM OMÓWIENIE ZADAŃ"

Podobne prezentacje


Reklamy Google