Iv otwarte mistrzostwa opola w programowaniu zespo owym
This presentation is the property of its rightful owner.
Sponsored Links
1 / 12

IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on
  • Presentation posted in: General

IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM. OMÓWIENIE ZADAŃ. Problem B – Wędrujący klocek. Cechy klocka: Pozycja Położenie, np. lewy, dolny róg Cechy trasy: Pola odwiedzone przez klocek Ruch: Cztery możliwości. Pozycja 1. Pozycja 2. Pozycja 3.

Download Presentation

IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Iv otwarte mistrzostwa opola w programowaniu zespo owym

IV OTWARTE MISTRZOSTWA OPOLAW PROGRAMOWANIU ZESPOŁOWYM

OMÓWIENIE ZADAŃ


Problem b w druj cy klocek

Problem B – Wędrujący klocek

  • Cechy klocka:

  • Pozycja

  • Położenie, np. lewy, dolny róg

  • Cechy trasy:

  • Pola odwiedzone przez klocek

  • Ruch:

  • Cztery możliwości

Pozycja 1

Pozycja 2

Pozycja 3

3 pozycje x 4 kierunki = 12 wariantów


Problem b w druj cy klocek1

Problem B – Wędrujący klocek

  • Kolejny ruch:

  • Wyznacz nową pozycję

  • Wyznacz nowe położenie klocka

  • Dodaj zajmowane przez klocek pola do listy pól odwiedzonych

Pozycja 1

Pozycja 2

Pozycja 3

N, y++

W, x-=dl_kl

Pozycja 2

E, x++

S, y- -

W, x- -

E, x+=dl_kl

Pozycja 1

S, y- -

N, y+=dl_kl

S, y-=dl_kl

W, x- -

N, y++

Pozycja 3

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

E, x++


Problem c zagnie d one podzbiory

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ę

Reguły konstrukcji parsera dla gramatyk bezkontekstowych:

A  B CA()

{B()

C()

}

A  B | C

A()

{Jeżeli (Pierwszy symbol (B) = s1)

B()

W przeciwnym wypadku jeżeli (Pierwszy symbol (C) = s2 )

C()

W przeciwnym wypadku

Błędne słowo

}

A  sA()

{Jeżeli (symbol = s)

Czytaj kolejny symbol

W przeciwnym wypadku

Błędne słowo

}


Problem c zagnie d one podzbiory1

Problem C – Zagnieżdżone podzbiory

Reguły realizacji parsera tej gramatyki – konstrukcja funkcji odpowiadających poszczególnym produkcjom

Lista()L  { E D

{ Jeżeli (symbol = { )

Czytaj kolejny symbol

W przeciwnym razie

Błędne słowo

Element_listy()

Rozwinięcie_listy()

}

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

}


Problem c zagnie d one podzbiory2

Problem C – Zagnieżdżone podzbiory

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

}


Problem a terytorium

Problem A – Terytorium

  • Niech AMNbędzie tablicą, w której

  • 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).

  • 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(M2N). Jest możliwa optymalizacja ze względu na kolejność M i N.


Iv otwarte mistrzostwa opola w programowaniu zespo owym

Problem D – Cięcie kwadratu

F(xF,N)

D(0,N)

C(N,N)

E(N,yE)

A(0,0)

B(N,0)

AE = [N; yE] ;EF = [xF – N; N – yE]

AE EF  N(xF – N) + yE(N – yE) = 0

skąd:

xF = N – yE + yE2/N

i zadanie już nie jest geometryczne.

Szukamy odpowiedzi na pytanie:

dla jakich całkowitych i(1 ≤ i ≤ N – 1) wyrażenie i2/Njest całkowite?

Jeżeli N ma następujący rozkład na czynniki pierwsze:

Odpowiedzią jest

8(r – 1)

to i musi być postaci:


Iv otwarte mistrzostwa opola w programowaniu zespo owym

Problem E – Wielokąty kratowe

Z twierdzenia Picka : W = P – B/2 +1

  • Wystarczy obliczyć:

  • pole P wielokąta

    • liczbę B punktów kratowych na brzegu wielokąta

Uwaga! Wartości iloczynów xiyi+1 lub xi+1yi mogą przekraczać zakres typu long.


Iv otwarte mistrzostwa opola w programowaniu zespo owym

Problem F – Jak dojechać?

Szukamy takiego v aby:

(av4+ bv3+ cv2+ dv) * (s / v) = m

tzn. szukamy miejsca zerowego funkcji

f(v) = s(av3+ bv2+ cv+ d) – m

Można zastosować dowolną metodę, np.

bisekcji;

Newtona.


Iv otwarte mistrzostwa opola w programowaniu zespo owym

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.


Iv otwarte mistrzostwa opola w programowaniu zespo owym

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]<A[T]) {dist+=L[T]; T=A[T]; }

else{dist+=L[S]; S=A[S]; }

7

2

8

1

9

Złożoność O(m) , gdzie m – liczba krawędzi.

0

3

3

2

4

5


  • Login