|
|
- Márta Biró
- 7 évvel ezelőtt
- Látták:
Átírás
1 Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar Gráfos feladatok.. Feladat: Kiút keresés labirintusban. Egy négyzetrácsos hálózattal leírható labirintusban adott start helyről adott cél helyre kell eljutni a lehető legrövidebb úton. A labirintusban minden mező vagy fal, vagy közlekedésre használható folyosó egy részlete. Egy lépésben szomszédos mezőre léphetünk, balra, jobbra, felfelé vagy lefelé ábra.
2 0 0 0 Megoldás Modell: Tfh. a labirintus sorainak száma n, oszlopainak száma m. Tekintsük azt a G = (V,E) gráfot, ahol V = {(x,y) : x n y m (x,y)nem fal} (x,y) (x,y) E akkor és csak akkor, ha x x + y y = valamint (x,y) és (x,y) nem fal. Vagyis az (x,y) mezőről egyetlen lépéssel juthatunk az (x,y) mezőre. Tehát a feladat nem más, mint egy (Xk,Y k) (Xc,Xc) legrövidebb út keresése, ha a start mező (Xk,Y k) a célmező pedig (Xc,Xc). A feladat tehát megoldható szélességi kereséssel, a labirintus gráf számított-gráf ábrázolását használva. (x,y) (,0) (x,y ) (x,y) (x,y+) (0, ) (0,) (x+,y) (,0). ábra. A lehetséges lépések
3 program L a b i r i n t u s ; c o n s t MaxMN=00; { sorok és oszlopok max. száma } Lep : array [.. ] of record x, y :.. end={ a l é p é s e k e l ő r e } ( ( x : ; y : 0 ), ( x : 0 ; y : ), ( x : ; y : 0 ), ( x : 0 ; y : ) ) ; VLep : array [.. ] of record x, y :.. end={ a l é p é s e k v i s s z a } ( ( x : ; y : 0 ), ( x : 0 ; y : ), ( x : ; y : 0 ), ( x : 0 ; y : ) ) ; SorMeret=MaxMNΛMaxMN; type 0 Koord = 0..MaxMN; P o z i c i o =record x, y : Byte end ; L a b i r i n t =array [ 0.. MaxMN, 0..MaxMN] of i n t e g e r ; Sor=record Tar : array [.. SorMeret ] of P o z i c i o ; e l e j e, vege :Word end ; var M,N:Word; { a sorok és oszlopok száma } K:Word; { a f a l a k száma } Xk, Yk :..MaxMN; { a kezdő mező k o o r d i n á t á i } Xc, Yc :..MaxMN; { a c é l mező k o o r d i n á t á i } L: L a b i r i n t ; { a l a b i r i n t u s mátrixa } 0 S : Sor ; { Sor a bejáráshoz } x, y :Word; procedure Beolvas ; { Global : M, N, } var Bef : Text ; i, x, y :Word; begin Assign ( Bef, l a b i r i n t. be ) ; Reset ( Bef ) ; ReadLn ( Bef, M, N, K) ; 0 f o r x := to M do f o r y := to N do L[ x, y ] : = 0 ; ReadLn ( Bef, Xk, Yk, Xc, Yc ) ; f o r i := to K do begin ReadLn ( Bef, x, y ) ; L[ x, y ]:= ; end { f o r K} ; Close ( Bef ) ; end { Beolvas } ; 0 procedure S o r L e t e s i t ; begin S. e l e j e : = ; S. vege : = ; end { S o r L e t e s i t } ; procedure Sorba ( p : P o z i c i o ) ; begin S. Tar [ S. vege ] : = P ; Inc ( S. vege ) ; end { Sorba } ; procedure Sorbol ( Var p : P o z i c i o ) ; 0 begin p:=s. Tar [ S. e l e j e ] ; i n c ( S. e l e j e ) ; end { Sorbol } ; Function NemUres ( ) : Boolean ; begin NemUres:=S. e l e j e <S. vege ;
4 end { NemUres } ; procedure Bejar ( x, y : Koord ) ; { Global : Xc, Yc, L} 0 var i :Word; p, q : P o z i c i o ; begin { Bejar } S o r L e t e s i t ; p. x := x ; p. y := y ; Sorba ( p ) ; while NemUres Do begin Sorbol ( p ) ; i f ( p. x=xc ) And ( p. y=yc ) then Break ; { c é l b a értünk } 0 f o r i := to Do begin { l é p é s a négy l e h e t s é g e s szomszéd f e l é } q. x :=p. x+lep [ i ]. x ; q. y :=p. y+lep [ i ]. y ; i f L[ q. x, q. y ]=0 then begin { i t t még nem jártunk } L[ q. x, q. y ] : = i +; { a l é p é s b e j e g y z é s e } Sorba ( q ) ; {q t b e t e s s z ü k az a k t í v pontok sorába } end ; end { f o r i } ; end { while } ; end { Bejar } ; 0 procedure UtKiIro ; { Global : Xc, Yc, L} Var KiF : Text ; Ut : array [..MaxMN] of.. ; Tav, x, y, i : i n t e g e r ; begin Assign ( Kif, l a b i r i n t. ki ) ; Rewrite ( Kif ) ; i f L[ Xc, Yc] >0 then begin { van út a c é l b a } Tav : = 0 ; x :=Xc ; y :=Yc ; 0 while L[ x, y ] > do begin l e p e s :=L[ x, y ] ; x := x+vlep [ l e p e s ]. x ; y := y+vlep [ l e p e s ]. y ; i n c ( Tav ) ; Ut [ Tav ] : = l e p e s ; end { while } ; WriteLn ( Kif, Tav ) ; { az út hosszának k i í r a t á s a } f o r i := Tav downto do w r i t e ( KiF, Ut [ i ], ) ; 00 writeln ( KiF ) ; 0 end Else 0 WriteLn ( Kif, Nincs út ) ; 0 Close ( Kif ) ; 0 end { UtKiIro } ; 0 begin { Program } 0 Beolvas ; 0 0 f o r x := to M Do begin { i n i c i a l i z á l á s } 0 L[ x, 0 ] : = ; L[ x,m+]:= ; { k e r e t a t á b l a köré } 0 end ; f o r y := to N Do begin
5 L[ 0, y ] : = ; L[N+, y ]:= ; end ; L[Xk, Yk ] : = ; { a kezdőpontban már jártunk } Bejar (Xk, Yk ) ; UtKiIro ; end... Feladat: Mérőkannák Egy gazdának két kannája van, az egyik A literes, a másik pedig B. Szeretne kimérni pontosan L liter vizet. Az alábbi műveleteket lehet végezni a kimérés során:. Az A-literes kanna teletöltése. A B-literes kanna teletöltése. Az A-literes kanna kiürítése. A B-literes kanna kiürítése. Áttöltés az A-literesből a B-literesbe (amíg az tele nem lesz, ill. van A-ban). Áttöltés a B-literesből az A-literesbe (amíg az tele nem lesz, ill. van B-ben) Adjunk olyan algoritmust, amely meghatároz egy (legkevesebb lépésből álló) kimérést! Bemenet A kimer.be szöveges állomány első sora a két egész számot tartalmaz, a két kanna ürtartalmát: AB(0 < A,B <= 00). A második sor a kimérendő mennyiséget tartalmazza. Kimenet A kimer.ki szöveges állomány első sora a kimérés lépéseinek (minimális) m számát tartalmazza. A második sor pontosan m egész számot tartalmazzon egy-egy szóközzel elválasztva, a kimérés lépéseit. Példa bemenet és kimenet bemenet kimenet
6 kezdő állapot: (0,0) öntéssel kapható állapotok: (,0) (0,) öntéssel kapható állapotok: (,) (,) (,0) öntéssel kapható állapotok: (,0) (,) öntéssel kapható állapotok: (,) (,0) öntéssel kapható állapotok: (,0) (,) öntéssel kapható állapotok: (0,) (,) öntéssel kapható állapotok: (,) (0,) öntéssel kapható állapotok: (,) (,0) öntéssel kapható állapotok: (,0) (,) 0 öntéssel kapható állapotok: (,) (,0) öntéssel kapható állapotok: (,0) (,) öntéssel kapható állapotok: (0,) (,) Megoldás Minden állapot azonosítható egy (x, y) számpárral (0 x A, 0 y B). A kezdő állapot (0,0). Az öntögetés során tudnunk kell, hogy adott (x,y) állapotot elértük-e már? Továbbá, ha elő is kell állítani egy öntési sorrrendet, akkor most nem elég azt tudni, hogy egy állapot melyik lépéssel keletkezett. Valóban, pl. ha a (,) állapot az. lépéssel keletkezett, akkor az előző állapot lehetett (,),(,) vagy (,). Tehát minden elért állapothoz tároljuk azt az állapotot, amelyből keletkezett. Vegyünk egy EA tömböt, és EA[x, y].x = 0, ha az (x, y) állapotot még nem értük el, egyébkét az állapotot, amelyből keletkezett. program MeroKannak ; c o n s t MaxV=00; SorMeret =000; type A l l a p o t = record x, y : i n t e g e r end ; Sor=record e l e j e, vege :Word; Tar : array [.. SorMeret ] of A l l a p o t ; end ; 0 var A, B, L:Word; EA: array [ 0.. MaxV, 0.. MaxV] of A l l a p o t ; S : Sor ; procedure Sorba ( var S : Sor ; v : A l l a p o t ) ; begin S. Tar [ S. vege ] : = v ; Inc ( S. vege ) ; end ; procedure Sorbol ( var S : Sor ; var v : A l l a p o t ) ; 0 begin v :=S. Tar [ S. e l e j e ] ; Inc ( S. e l e j e ) ; end ; procedure Beolvas ; var BeF : Text ; begin Assign ( BeF, kimer. be ) ; Reset ( BeF ) ; ReadLn ( BeF, A, B ) ; ReadLn ( BeF, L ) ; 0 Close ( BeF ) ; end { Beolvas } ; procedure Szamit ;
7 var x, y :Word; U,V: A l l a p o t ; begin { } f o r x :=0 to A do f o r y :=0 to B do EA[ x, y ]. x:= ; S. e l e j e : = ; S. vege : = ; 0 EA[ 0, 0 ]. x : = 0 ; U. x : = 0 ; U. y : = 0 ; Sorba ( S,U) ; while ( S. e l e j e <S. Vege ) do begin Sorbol ( S,U) ; i f (U. x=l) t h e n break ; { kész, a kímérendő van a A kannában } i f EA[A,U. y ]. x<0 then begin {. l é p é s } V. x :=A; V. y :=U. y ; EA[V. x,v. y ] : =U; Sorba ( S,V) ; 0 end ; i f EA[U. x, B ]. x<0 then begin {. l é p é s } V. x :=U. x ; V. y :=B; EA[V. x,v. y ] : =U; Sorba ( S,V) ; end ; i f EA[ 0,U. y ]. x<0 then begin {. l é p é s } V. x : = 0 ; V. y := y ; EA[V. x,v. y ] : =U; Sorba ( S,V) ; end ; 0 i f EA[U. x, 0 ]. x<0 then begin {. l é p é s } V. x :=U. x ; V. y : = 0 ; EA[V. x,v. y ] : =U; Sorba ( S,V) ; end ; i f U. x+u. y<=b then begin { ö n t é s A ból B be } V. x : = 0 ; V. y :=U. x+u. y ; end e l s e begin V. x :=U. x (B U. y ) ; V. y :=B; end ; i f EA[V. x,v. y ]. x<0 then begin {. l é p é s } EA[V. x,v. y ] : =U; Sorba ( S,V) ; 0 end ; i f U. x+u. y<=a then begin { ö n t é s B ből A ba } V. y : = 0 ; V. x :=U. x+u. y ; end e l s e begin V. y :=U. y (A U. x ) ; V. x :=A; end ; i f EA[V. x,v. y ]. x<0 then begin {. l é p é s } EA[V. x,v. y ] : =U; Sorba ( S,V) ; end ; end { while az S sor nem üres } ; 0 end { Szamit } ; procedure KiIr ; c o n s t maxa=0000; var KiF : Text ; x, y,m, i, l e p e s : i n t e g e r ; Lehet : boolean ; szep : s t r i n g ; U,V: A l l a p o t ;
8 Lepsor : array [.. MaxA] of A l l a p o t ; 0 begin Assign ( KiF, kimer. ki ) ; Rewrite ( KiF ) ; l e h e t := f a l s e ; f o r y :=0 to B do i f EA[L, y ]. x>0 then begin l e h e t := t rue ; U. y := y ; break ; end ; i f not l e h e t then begin w r i t e l n ( KiF, 0 ) ; c l o s e ( KiF ) ; e x i t ; 00 end ; 0 U. x :=L; m: = 0 ; 0 while (U. x < >0) or (U. y < >0) do begin 0 i n c (m) ; 0 LepSor [m] : =U; 0 U:=EA[U. x,u. y ] ; 0 end ; 0 U. x : = 0 ; U. y : = 0 ; 0 w r i t e l n ( KiF,m) ; 0 szep := ; 0 f o r i :=m downto do begin V:= LepSor [ i ] ; i f (V. x=a) and (U. y=v. y ) then begin l e p e s : = ; end e l s e i f (U. x=v. x ) and (V. y=b) then begin l e p e s : = ; end e l s e i f (V. x =0) and (U. y=v. y ) then begin l e p e s : = ; end e l s e i f (U. x=v. x ) and (V. y =0) then begin l e p e s : = ; 0 end e l s e i f (V. x =0) and (V. y=u. x+u. y ) or (V. x=u. x (B U. y ) ) and (V. y=b) then begin l e p e s : = ; end e l s e begin l e p e s : = ; end ; w r i t e ( KiF, szep, l e p e s ) ; szep := ; U: =V; end { f o r i } ; w r i t e l n ( KiF ) ; Close ( KiF ) ; 0 end { KiIr } ; begin Beolvas ; Szamit ; KiIr ; end... Gráf adattípus, gráfok ábrázolása... Definíciók. Irányítatlan gráf:g = (V, E) E rendezetlen {a, b}, a, b V párok halmaza.. Irányított gráf:g = (V, E) E rendezett (a, b) párok halmaza; E V V.. Multigráf:
9 . ábra. Példa gráf G = (V,E,Ind,Érk), Ind,Érk : E V Ind(e) az e él induló, Érk(e) az érkező pontja. Címkézett (súlyozott) gráf:g = (V, E,C) C : E Címke Minden irányítatlan G = (V, E) gráf olyan irányított gráfnak tekinthető, amelyre teljesül, hogy ( p, q V )((p, q) E (q, p) E). Jelölések KiEl(G, p) = {q V : (p,q) E} BeEl(G, p) = {q V : (q, p) E} KiFok(G, p) = Ki(G, p) BeFok(G, p) = Be(G, p)... Műveletek gráfokon A továbbiakban feltételezzük, hogy a gráf pontjait természetes számokkal azonosítjuk, pontosabban V {,...,n} Milyen műveleteket akarunk gráfokon végezni? Pontokszama Elekszama KiFok(p) BeFok(p) PontBovit(p) PontTorol(p) ElBovit(p, q) ElTorol(p, q) VanEl(p, q) for q in KiEl(p) do M(p,q)... Gráfok ábrázolásai Szempontok az adatszerkezet megválasztásához.. Az adott probléma megoldásához ténylegesen mely műveletek szükségesek.. Melyek a releváns műveletek, amelyek alapvetően befolyásolják az algoritmus futási idejét.. A tárigény az adott probléma esetén.
10 . ábra. Példa gráf Graf.txt Éltömb Éllánc 0 0 ESz=... ábra. Élhalmaztömb és élhalmazlánc 0
11 . Élhalmaztömb és élhalmazlánc. Kapcsolatmátrix (szomszédsági mátrix) G. ábra. Kapcsolatmátrix c o n s t maxp=000; / / a pontok max. száma type Graf=array [.. maxp,.. maxp ] of boolean ; CGraf=array [.. maxp,.. maxp ] of i n t e g e r ; (p,q) akkor és csak akkor éle a gráfnak, ha G[p,q] = true. Címkézett gráf esetén választani kell egy nem Cimke értéket, amely nem fordul elő semmilyen él címkéjeként. (p, q) akkor és csak akkor éle a címkézett gráfnak, ha G[p,q]! = nem, és a (p,q) él címkéjének értéke G[p,q].. Élhalmaz-tömb G KiFok ábra. Gráf ábrázolása élhalmaz-tömbbel c o n s t maxp=000; / / a pontok max. száma type Graf=array [.. naxp, maxp ] of i n t e g e r ; KiFok=array [.. naxp ] of i n t e g e r ; A Ki(G, p) halmaz bejárása:
12 f o r i := to KiFok [ p ] do begin q:=g[ p, i ] ; M( p, q ) ; end ;. Élhalmaz-lánc ábra. Gráf ábrázolása élhalmaz-lánccal a.) Statikus élhalmaz-lánc c o n s t maxp=000; / / a pontok max száma maxe=00000; / / az é l e k max. száma type Lanc= l o n g i n t ; C e l l a =record pont. i n t e g e r ; c s a t : Lanc end ; Graf=array [.. naxp ] of Lanc ; Elek : array [.. maxe] of C e l l a ; b.) Dinamikus élhalmaz-lánc c o n s t maxp=000; type Lanc=^ C e l l a ; C e l l a =record pont. i n t e g e r ; c s a t : Lanc end ; Graf=array [.. naxp ] of Lanc ;. Számított gráf Az élek halmazát explicite nem tároljuk, mert van olyan számítási eljárás, amely bármely két p, q V -re kiszámítja VanEl(p, q)-t.
13 Vagy, van olyan számítási eljárás, amely minden p V -re kigenerálja a Ki(G, p) halmaz elemeit... Elemi gráfalgoritmusok... Utak Legyen G = (V,E) irányított (irányítatlan) gráf... definíció. p,q V -re egy p-ből q-ba vezető út G-ben, jele: π : p q, olyan π = p 0, p,, p k pontsorozat, ahol p i p j, ha i j, p = p 0 és q = p k, továbbá p = q = p 0, vagy ( i {,...,k}) ((p i, p i ) E)... definíció. A π = p q út hossza, π = p q = k.. definíció. p-ből q-ba vezető legrövidebb út hossza, p és q távolsága: { ha nincs p q δ(p,q) = Min{ π : p q } π : p q ().. definíció. A π = p 0, p,, p k pontsorozatot a p 0 -ból p k -ba vezető sétának nevezzük, ha ( i {,...,k})(p i, p i ) E.. definíció. Ha G = (V,E,C) élei a C : E R függvénnyel súlyozottak, akkor a p q út hossza p q = k i= C(p i, p i ). A p és q pont távolsága: { δ(p,q) = Min{ π : p q } ha nincs p q π : p q ().. definíció. A G = (V,E) (irányítatlan) gráfnak az F = (V,E) gráf a r V gyökerű feszítőfája, ha. F részgráfja G-nek (V V,E E,) és fa.. ( p V ) ha van r p G-ben, akkor és csak akkor, ha van r p F-ben... definíció. A G = (V,E) (irányítatlan, súlyozott) gráfnak az F = (V,E) gráf a r V gyökerű legrövidebb utak feszítőfája (LUF), ha. F r-gyökerű feszítőfája G-nek, és. p V -ra δ G (r, p) = δ F (r, p). Útproblémák. Adott p,q V -re van-e p q út?. Adott p-re az Elr(p) = {q : p q} halmaz kiszámítása.. Adott p,q V -re δ(p,q) és egy p q legrövidebb út kiszámítása.. Egy pontból induló legrövidebb utak : adott p-re minden q-ra δ(p,q) és egy p q legrövidebb út kiszámítása.. Minden p,q pontpárra δ(p,q) és egy p q legrövidebb út kiszámítása.
14 ... Szélességi keresés Bemenet: G = (V,E) (irányított vagy irányítatlan) gráf és egy r V pont. Kimenet: D : V N, Apa : V V, hogy D(p) = δ(r, p) és az F = (V,E) gráf, ahol V = {p : Apa(p) null p = r}, E = {(p,q) : Apa(q) = p p null} r-gyökerű LUF. procedure S z e l t B e j a r ( p : PontTip ) ; / / p ből induló l e g r ö v i d e b b utak meghatározása { Global :G, N, D, Apa } var S : SorTip ; u, v : PontTip ; i :Word; begin { S z e l t B e j a r } f o r u:= to N do D[ u ] : = I n f ; { i n i c i a l i z á l á s } 0 D[ p ] : = 0 ; Apa [ p ] : = 0 ; U r e s i t ( S ) ; Sorba ( S, p ) ; while NemUres ( S ) do begin SorBol ( S, u ) ; f o r i := To KiFok [ u ] Do Begin { u > v é l r e } v :=G[ u, i ] ; i f D[ v ]= I n f then begin { ha v meg nem e l é r t } Apa [ v ] : = u ; 0 D[ v ] : =D[ u ] + ; Sorba ( S, v ) ; end ; end { f o r u >v } ; end { while } ; end { S z e l t B e j a r } ;... Mélységi keresés procedure MelyBejar ( p : PontTip ) ; / / p ből e l é r h e t ő pontok meghatározása { Global :G, N, Apa } var q : PontTip ; i :Word; begin { MelyBejar } f o r i := To KiFok [ p ] Do Begin { p > q é l r e } q:=g[ u, i ] ; 0 i f Apa [ q] <0 then begin { ha q meg nem e l é r t } Apa [ q ] : = p ; MelyBejar ( q ) ; end ; end { f o r p >q} ; end { MelyBejar } ;.. Feladat: Terv Egy nagyszabású építkezés terve n különböző munka elvégzését írja elő. Minden munkát egy nap alatt lehet elvégezni. Egy napon több munkát is el lehet végezni párhuzamosan, feltéve, hogy a megelőzési feltételt betartjuk. Ez ezt jelenti, hogy vannak olyan
15 előírások, hogy egy adott a munka elvégzése meg kell, hogy előzze más adott b munka elégzését. Tehát a b munkát csak akkor lehet elkezdeni, ha már az a munkát befejeztük. Kiszámítandó, hogy a teljes építkezést legkevesebb hány nap alatt lehet befejezni! Bemenet A terv.be szöveges állomány első sora két egész számot tartalmaz, az elvégzendő munkák n számát ( n 00), és a megelőzési előírások m számát (0 m 0000). Kimenet A terv.ki szöveges állomány első sora az összes munka elvégzéséhez szükséges napok k számát tartalmazza. Ha a megelőzési előírások miatt nem lehet elvégezni az összes munkát, akkor az első ás egyetlen sorba a 0 számot kell írni. A további k sor mindegyike egy napon elvégzendő munkák sorszámait tartalmazza egy-egy szóközzel elválasztva. Példa bemenet és kimenet bemenet kimenet 0 0. ábra. A példa bemenet ábrája. Megoldás Elvi algoritmus. Legyen G = (V,E) az a gráf, amelynek pontjai a munkák és élei a megelőzési feltételek. M := {v V : BeFok(v) = 0}; {az első napi munkák } while (M /0) and (V /0 )do begin
16 KiIr(M ); V := V M ; töröljük az E élekből minden olyan p q élet, amelyre p M ; M := {v V : BeFok(v) = 0}; end Akkor és csak akkor van megoldás, ha a megelőzési feltétel nem tartalmaz kört. Hogyan deríthető ez ki a fenti algoritmus során? Ha van kör, akkor a fenti algoritmusban az ismétlés úgy ér véget, hogy M = /0 de V /0. Fordítva is igaz, tehát ha az ismétlés úgy ér véget, hogy utána V /0, akkor van kör, mert nincs 0-befokú pont a megmaradtak között. Tehát elég megszámolni, hogy hány pont kerül bele az M halmazokba. A megelőzési előírások (gráfjának) ábrázolása. Milyen műveleteket kell végezni? Adott u-ra (hatékonyan) meg kell tudni adni mindazon v-ket, amelyeket u megelőz. Jelölje ezek halmazát Ki[u]. Vegyünk egy G tömböt, amelynek G[u] eleme olyan lánc fejére mutat, amely lánc a Ki[u] halmaz elemeit tartalmazza. G ábra. A példa megelőzési előírásainak ábrázolása láncokban. program Terv ; c o n s t MaxN=0000; type Pont =..MaxN; Lanc=^ C e l l a ; C e l l a =record oda : Pont ; c s a t : Lanc end ; Graf=array [.. MaxN] of Lanc ; var 0 N,M: Word; G: Graf ; Beoszt : array [.. ΛMaxN] of 0.. MaxN;
17 BeFok : array [.. MaxN] of 0.. MaxN; Nap :Word; procedure Beolvas ; var BeF : Text ; i, u, v : i n t e g e r ; Guv: Lanc ; 0 begin Assign ( BeF, t e r v. be ) ; Reset ( BeF ) ; ReadLn ( BeF, N, M) ; f o r u:= to N do begin G[ u ] : = N i l ; Befok [ u ] : = 0 ; end ; f o r i := to M do begin Readln ( BeF, u, v ) ; 0 New(Guv ) ; { új c e l a l é t e s í t é s e } Guv^. oda := v ; { az u >v é l f e l v é t e l e a láncba : } Guv^. c s a t :=G[ u ] ; { a Guv c e l l a bekapcsolása a G[ u] lánc e l e j é r e } G[ u ] : = Guv; end { f o r i } ; Close ( BeF ) ; end { Beolvas } ; procedure Szamit ; var 0 i, e l e j e, vege, p, q :Word; El : Lanc ; begin Nap : = 0 ; vege : = 0 ; f o r i := to N do { a 0 megelőzöjüek halmazának k i s z á m í t á s a } i f Befok [ i ]=0 then begin Inc ( vege ) ; Beoszt [ vege ] : = i ; end ; Inc ( vege ) ; 0 Beoszt [ vege ] : = 0 ; e l e j e : = ; while True do begin Inc ( Nap ) ; while Beoszt [ e l e j e ]<>0 do begin p:= Beoszt [ e l e j e ] ; Inc ( e l e j e ) ; El :=G[ p ] ; while El <> n i l do begin { a p >q é l e k f e l d o l g o z á s a } q:= El ^. oda ; El := El ^. c s a t ; 0 Dec ( BeFok [ q ] ) ; i f BeFok [ q]=0 then begin { q f e l v é t e l e az akt. napra } Inc ( vege ) ; Beoszt [ vege ] : = q ; end ; end { while El } ; end { while e l e j e } ; i f vege= e l e j e then Break ;
18 Inc ( vege ) ; Beoszt [ vege ] : = 0 ; 0 Inc ( e l e j e ) ; end { while } ; end { Szamit } ; procedure KiIr ; var i, ind :Word; KiF : Text ; begin Assign ( KiF, t e r v. ki ) ; Rewrite ( KiF ) ; i f Jok<>N then Nap : = 0 ; WriteLn ( KiF, Nap ) ; 0 ind : = ; f o r i := to Nap do begin r epeat Write ( KiF, Beoszt [ ind ], ) ; Inc ( ind ) u n t i l Beoszt [ ind ] = 0 ; Inc ( ind ) ; WriteLn ( KiF ) ; end { f o r i } ; Close ( KiF ) ; 0 end { KiIr } ; begin { Program } Beolvas ; Szamit ; KiIr ; end... Feladat: Első Képtárlátogatás Egy sok teremből álló képtárban teszünk látogatást. Tudjuk, hogy a főbejárattól a képtár bármely termébe pontosan egy útvonalon keresztül lehet eljutni. Adjunk olyan bejárási stratégiát, amely biztosítja, hogy minden terembe eljutunk (minden képet pontosan egyszer nézünk meg)! 0. ábra. Egy képtár alaprajza
19 Megoldás A fal mellett mindig jobbra haladjunk. A lényeg, hogy adott teremből közvetlenül melyik termekbe tudok átmenni. Az alaprajz 0. ábra. ábráján kössük össze egyenes szakasszal az olyan teremsorszám-párokat, amelyek között van ajtó (tehát közvetlenül át lehet menni egyikből a másikba)... Feladat: Második Képtárlátogatás Ha a képtár nem teljesíti azt a feltételt, hogy bármely két terem között pontosan egy útvonal létezik (a gráfja fa), akkor nem alkalmazható a "fal mellett mindig jobbra" el. Az ábrán látható képtár esetén a. terembe nem jutnánk el. Fogalmazzuk meg pontosan a megoldandó feladatot. Bemenetként adott egy képtár termeinek leírása, amely tartalmazza minden teremre, hogy abból közvetlenül melyik termekbe lehet átmenni. Feltesszük, hogy n terem esetén a termeket az,..., n számokkal azonosítjuk, a bejáratot tartalmazó terem azonosítója. A kimenet a termek sorszámaiból álló olyan a,a,,a m számsorozat, amely megadja, hogy a bejárattól indulva milyen sorrendben kell haladnunk a képtárban, hogy minden terembe eljussunk, és a sétát a bejáratot tartalmazó. teremben fejezzük be. Tehát a,a,,a m számsorozatra az alábbiak teljesülnek: a = és a m = Minden i-re az a i teremből van ajtó az a i+ terembe ( i < m). Minden és n közötti szám legalább egyszer előfordul a sorozatban. Bemenet A keptar.be szöveges állomány első sora a termek n ( n 00)számát tartalmazza. A következő n sor mindegyike egy terem szomszédos termeit adja meg. Az i + -edik sorban azon termek sorszámai vannak felsorolva (egy-egy szóközzel elválasztva) 0-val zárva, amelyekbe nyílik ajtó az i-edik teremből. Kimenet A keptar.ki szöveges állomány egy megoldást tartalmazzon. Több megoldás esetén bármelyik megadható.
20 0. ábra. 0. ábra. 0
21 0. ábra. A "fal mellett mindig jobbra" elv alkalmazása.. ábra.
22 Példa bemenet és kimenet bemenet kimenet Megoldás Mit kell tudnunk?. Jártunk-e már az adott teremben?. Melyik teremből léptünk először az adott terembe? Minden p teremre Honnan(p) legyen annak a teremnek a száma, amelyből először lépünk a p terembe. Kezdetben legyen minden p-re Honnan(p) = 0. Így ha a p teremben vagyunk, és a q terembe vezet ajtó, a Honnan(q) értéke alapján el tudjuk dönteni, hogy jártunk-e q-ban.
23 Az algoritmus: at = ; / / az a k t u á l i s terem Honnan ( ) = ; / / az u t c á r ó l léptünk a f ő b e j á r a t termébe while ( at!= ) do begin / / amíg v i s s z a nem értünk a b e j á r a t / k i j á r a t h o z i f ( at nek van q benemjárt szomszédos terme ) then begin Honnan ( q ) = at ; at = q ; end e l s e at = Honnan ( at ) ; end program Keptar ; c o n s t MaxN=00; var N, i, at : i n t e g e r ; G: array [.. MaxN,.. MaxN] of i n t e g e r ; Honnan, Ki, Fok : array [.. MaxN] of i n t e g e r ; KiF : Text ; procedure BeOlvas ; 0 var i, x, y : i n t e g e r ; BeF : Text ; begin Assign ( BeF, keptar. be ) ; Reset ( BeF ) ; ReadLn ( BeF,N) ; f o r i := to n do begin Fok [ i ] : = 0 ; Read ( BeF, x ) ; while ( x < >0) do begin i n c ( Fok [ i ] ) ; 0 G[ i, Fok [ i ] ] : = x ; read ( BeF, x ) ; end ; end ; Close ( BeF ) ; end { Beolvas } ; begin { Program } Beolvas ; Assign ( KiF, keptar. ki ) ; Rewrite ( KiF ) ; f o r i := to n do begin 0 Honnan [ i ] : = 0 ; Ki [ i ] : = 0 ; end ; at : = ; Honnan []:= ; while at >0 do begin w r i t e ( KiF, at, ) ; r epeat i n c ( Ki [ at ] ) ; u n t i l ( Ki [ at ] >Fok [ at ] ) or ( Honnan [G[ at, Ki [ at ] ] ] = 0 ) ; 0 i f Ki [ at ] <=Fok [ at ] then begin Honnan [G[ at, Ki [ at ] ] ] : = at ; at :=G[ at, Ki [ at ] ] ; end e l s e at :=Honnan [ at ] ; end { while } ;
24 c l o s e ( KiF ) ; end.. ábra.. ábra. A képtár gráfja. ábra. Egy teljes körséta:. A p Honnan[p] élek egy feszítőfát adnak. Rekurzív megvalósítás program Keptar ; c o n s t MaxN=00; var N,M:Word; G: array [.. MaxN,.. MaxN] of i n t e g e r ; Apa, Fok : array [.. MaxN] of i n t e g e r ; i : i n t e g e r ; KiF : Text ;
25 0 procedure BeOlvas ; var i, x, y : i n t e g e r ; BeF : Text ; begin Assign ( BeF, keptar. be ) ; Reset ( BeF ) ; ReadLn ( BeF,N) ; f o r i := to n do begin Fok [ i ] : = 0 ; Read ( BeF, x ) ; while ( x < >0) do begin 0 i n c ( Fok [ i ] ) ; G[ i, Fok [ i ] ] : = x ; read ( BeF, x ) ; end ; end ; Close ( BeF ) ; end { Beolvas } ; procedure MelyBejar ( p : i n t e g e r ) ; { Global : G, Fok, Apa} var 0 i, q : i n t e g e r ; begin f o r i := to Fok [ p ] do begin q:=g[ p, i ] ; i f Apa [ q] <0 then begin {q ban még nem jártunk } Apa [ q ] : = p ; {p ből j ö t t ü n k q ba } w r i t e ( KiF,, q ) ; { átlépünk q ba } MelyBejar ( q ) ; {q ból e l é r h e t ő k b e j á r á s a } w r i t e ( KiF,, p ) ; { v i s s z a k e l l menni p be } end ; 0 end { f o r i } ; end { MelyBejar } ; begin { Program } Beolvas ; Assign ( KiF, keptar. ki ) ; Rewrite ( KiF ) ; f o r i := to n do begin Apa [ i ]:= ; end ; Apa [ ] : = 0 ; w r i t e ( KiF, ) ; 0 MelyBejar ( ) ; c l o s e ( KiF ) ; end... Feladat: Iskolahálózat (IOI ) Néhány iskola számítógépes hálózatba van kötve. Az iskolák a szabadon terjeszthető programok elosztására megállapodást kötöttek: minden iskola egy listát vezet azokról az iskolákról ("szomszédairól"), amelyek számára a programokat továbbküldi. Megjegyzés: ha B iskola szerepel az A iskola terjesztési listáján, akkor A nem feltétlenül szerepel B terjesztési listáján. Írjon programot, amely meghatározza azt a legkisebb számot, ahány iskolához egy új programot el kell juttatni ahhoz, hogy - a megállapodás alapján, a hálózaton keresztül terjesztve - végül minden iskolába eljusson. Bemenet Az INPUT.TXT állomány első sora egy egész számot, a hálózatba kapcsolt iskolák n számát tartalmazza ( n 00). Az iskolákat az első n pozitív egész számmal azonosítjuk. A következő n sor mindegyike egy-egy terjesztési listát ír le. Az i + -edik
26 sor az i-edik iskola terjesztési listáján szereplő iskolák azonosítóit tartalmazza. Minden lista végén egy 0 szám áll. Az üres lista csak egy 0 számból áll. Kimenet A program az eredményt, amely két sorból áll, az OUTPUT.TXT nevű fájlba kell írja. Az első sor egy pozitív egész számot, azt a legkisebb m számot, ahány iskolához egy új programot el kell juttatni ahhoz, hogy - a megállapodás alapján, a hálózaton keresztül terjesztve - végül minden iskolába eljusson. A második sorban kell megadni az m kiválasztott iskolát, egy-egy szóközzel elválasztva. Példa bemenet és kimenet bemenet kimenet Megoldás Jelölje G = (V,E); V = {,...,n} az iskolahálózat gráfját. Legyen D V egy megoldáshalmaz, tehát ( q V )( p D)(p q) A D halmazt lépésenként építhetjük: Adott p V pontra jelölje Eler(p) a p pontból elérhető pontok halmazát: Eler(p) = {q : p q} Terjesszük ki ezt halmazokra: Eler(D) = p DEler(p) begin D := /0; DbolElert := /0; for p V do if p / DbolElert then begin D := D Eler(p) {p} DbolElert := DbolElert Eler(p) end end Az Eler(p) halmaz elemei mélységi bejárással kiszámíthatók. Az algoritmus futási ideje legrosszabb esetben O(n ). Az algoritmus legrosszabb esete, ha a bemenetben p szomszédai: {,,..., p }. Ha n 000 is lehet, akkor ez az algoritmus biztosan nem elég gyors megoldás. Gyorsítási ötlet: elsőször rakjuk a pontokat olyan sorrendbe, hogy ha p q, de nincs q p, akkor p előbb álljon a sorozatban, mint q.
27 0 0. ábra. 0. ábra.
28 Egy ilyen kívánt sorrendet egyetlen mélységi bejárással előállíthatunk: a p pontra hívott (rekurzív) mélységi bejárásban, miután p-ből kiinduló összes élet bejártunk, rakjuk p-t a sorozat elejére. (Tehát a kívánt sorozatban a pontok elhagyási idő szerint csökkenő sorrendben lesznek.) Az így módosított algoritmus két mélységi bejárást végez, tehát futási ideje O(E) 0 ET 0 0 El() El() El() El(). ábra. A hálózat ábrázolása. A p iskola szomszédjainak listája a ET tömb El[p],..., El[p + ] indexű elemeiben vannak. program Halozat ; c o n s t maxn=000; { a pontok maximális száma } maxe=00000; { az é l e k maximális száma } type Pont =.. maxn; P a l e t t a =( Feher, Szurke, Fekete ) ; var ET: array [.. maxe] of 0.. MaxN; 0 El : array [.. MaxN+] of l o n g i n t ; N: Longint ; { a pontok száma } Szin : array [.. maxn] of P a l e t t a ; Ver : array [.. maxn] of Pont ; { verem } Vm: Longint ; { verem mutató } D: array [.. MaxN] of Pont ; DSzam: I n t e g e r ; procedure BeOlvas ; var i, p, q :Word; BeF : Text ; begin Assign ( BeF, h a l o z a t. be ) ; Reset ( BeF ) ; ReadLn ( BeF,N) ; El [ ] : = ; i : = ; f o r p:= to N do begin Read ( BeF, q ) ; 0 while q<>0 do begin ET[ i ] : = q ; i n c ( i ) ; Read ( BeF, q ) ; end ; readln ( BeF ) ; El [ p +]:= i ; end ; Close ( BeF ) ; end { Beolvas } ; Procedure MelyBejar ( u : Pont ; e l s o : boolean ) ; { Global : G, Szin, Ver } Var i, v : l o n g i n t ; begin Szin [ u ] : = Szurke ;
Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 7. Gráfalgoritmusok II. 7.1. Feladat: Útcaseprő A város utcáinak takarítását úgy szervezték
RészletesebbenNeumann János Tehetséggondozó Program Gráfalgoritmusok II.
Neumann János Tehetséggondozó Program Gráfalgoritmusok II. Horváth Gyula horvath@inf.elte.hu 1. A szélességi bejárás alkalmazásai. Nyilvánvaló, hogy S(0) = {r}. Jelölés: D(p) = δ(r, p) Nyilvánvaló, hogy
RészletesebbenNeumann János Tehetséggondozó Program Gráfalgoritmusok I.
Neumann János Tehetséggondozó Program Gráfalgoritmusok I. Horváth Gyula horvath@inf.elte.hu A mindennapi életben számos olyan algoritmikus problémával találkozhatunk, amelynek a megoldása megoldaható gráf
Részletesebben10. Gráf absztrakt adattípus, gráfok ábrázolása
Gráf absztrakt adattípus, gráfok ábrázolása Definíciók Irányítatlan gráf:g = (V, E) E rendezetlen {a,b,a,b V párok halmaza Irányított gráf:g = (V,E) E rendezett (a,b) párok halmaza; E V V Multigráf: G
RészletesebbenGráfok, definíciók. Gráfok ábrázolása. Az adott probléma megoldásához ténylegesen mely műveletek szükségesek. Ábrázolások. Példa:
Gráfok, definíciók Irányítatlan gráf: G = (V,E), ahol E rendezetlen (a,b),a,b V párok halmaza. Irányított gráf: G = (V,E) E rendezett (a,b) párok halmaza; E V V. Címkézett (súlyozott) gráf: G = (V,E,C)
RészletesebbenGráfalgoritmusok: összefüggőség, párosítás páros gráfban
Gráfalgoritmusok: összefüggőség, párosítás páros gráfban Horváth Gyula horvath@inf.elte.hu 1. Elvágópontok és hidak 1.1. definíció. Egy G = (V, E) összefüggő irányítatlan gráf p V pontját elvágópontnak
RészletesebbenAlgoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan
RészletesebbenAdatszerkezetek II. 1. előadás
Adatszerkezetek II. 1. előadás Gráfok A gráf fogalma: Gráf(P,E): P pontok (csúcsok) és E P P élek halmaza Fogalmak: Irányított gráf : (p 1,p 2 ) E-ből nem következik, hogy (p 2,p 1 ) E Irányítatlan gráf
RészletesebbenPélda Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.
Legrövidebb utak súlyozott gráfokban A feladat egy súlyozott gráfban egy adott pontból kiinduló legrövidebb utak megkeresése. Az input a súlyozott gráf és a kiindulási s pont. Outputként egy legrövidebb
RészletesebbenAlgoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu
Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 4. Dinamikus programozással megoldható feladatok A dinamikus programozás elnevezés egy
RészletesebbenAlgoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.
Algoritmuselmélet Gráfok megadása, szélességi bejárás, összefüggőség, párosítás Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 2. előadás
RészletesebbenOKTV 2007/2008 Informatika II. kategória döntő forduló Feladatlap. Oktatási Hivatal
Feladatlap Kedves Versenyző! A megoldások értékelésénél csak a programok futási eredményeit vesszük tekintetbe. Ezért igen fontos a specifikáció pontos betartása. Ha például a feladat szövege adatok valamilyen
RészletesebbenAdatszerkezetek II. 2. előadás
Adatszerkezetek II. 2. előadás Gráfok bejárása A gráf bejárása = minden elem feldolgozása Probléma: Lineáris elrendezésű sokaság (sorozat) bejárása könnyű, egyetlen ciklussal elvégezhető. Hálós struktúra
RészletesebbenGráfok, definíciók. Minden irányítatlan G = (V,E) gráf olyan irányított gráfnak tekinthető, amelyre teljesül, hogy
Gráfok, definíciók Irányítatlan gráf: G = (V,E), ahol E rendezetlen (a,b),a,b V párok halmaza. Irányított gráf: G = (V,E) E rendezett (a,b) párok halmaza; E V V. Címkézett (súlyozott) gráf: G = (V,E,C)
RészletesebbenGráfok bejárása. Szlávi Péter, Zsakó László: Gráfok II :17
Gráfok 2. előadás Gráfok bejárása A gráf bejárása = minden elem feldolgozása Probléma: Lineáris elrendezésű sokaság (sorozat) bejárása könnyű, egyetlen ciklussal elvégezhető. Hálós struktúra bejárása nem
RészletesebbenGráfelméleti feladatok. c f
Gráfelméleti feladatok d e c f a b gráf, csúcsok, élek séta: a, b, c, d, e, c, a, b, f vonal: c, d, e, c, b, a út: f, b, a, e, d (walk, lanţ) (trail, lanţ simplu) (path, lanţ elementar) 1 irányított gráf,
RészletesebbenPélda Hajtsuk végre az 1 pontból a Dijkstra algoritmust az alábbi gráfra. (A mátrixban a c i j érték az (i, j) él hossza, ha nincs él.
Legrövidebb utak súlyozott gráfokban A feladat egy súlyozott gráfban egy adott pontból kiinduló legrövidebb utak megkeresése. Az input a súlyozott gráf és a kiindulási s pont. Outputként egy legrövidebb
RészletesebbenAlgoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.
Algoritmuselmélet Mélységi keresés és alkalmazásai Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem 9. előadás Katona Gyula Y. (BME SZIT) Algoritmuselmélet
RészletesebbenA 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 201/2014 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató INFORMATIKA II. (programozás) kategória 1. feladat: Metró (20 pont) Egy metróállomásra
RészletesebbenINFORMATIKA javítókulcs 2016
INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.
RészletesebbenGráfelméleti alapfogalmak
1 Gráfelméleti alapfogalmak Gráf (angol graph= rajz): pontokból és vonalakból álló alakzat. pontok a gráf csúcsai, a vonalak a gráf élei. GRÁ Irányítatlan gráf Vegyes gráf Irányított gráf G H Izolált pont
RészletesebbenProgramozás alapjai 6. előadás. Wagner György Általános Informatikai Tanszék
Programozás alapjai 6. előadás Wagner György Általános Informatikai Tanszék Record A valós életben a nyilvántartásra kerülő adatok nem azonos típusúak. Pl.: Név Cím Telefon GySz Fiz Kis Béla Miskolc Török
RészletesebbenAlgoritmizálás és adatmodellezés tanítása 1. előadás
Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az
Részletesebben14. Mediánok és rendezett minták
14. Mediánok és rendezett minták Kiválasztási probléma Bemenet: Azonos típusú (különböző) elemek H = {a 1,...,a n } halmaza, amelyeken értelmezett egy lineáris rendezési reláció és egy i (1 i n) index.
RészletesebbenKupac adatszerkezet. A[i] bal fia A[2i] A[i] jobb fia A[2i + 1]
Kupac adatszerkezet A bináris kupac egy majdnem teljes bináris fa, amely minden szintjén teljesen kitöltött kivéve a legalacsonyabb szintet, ahol balról jobbra haladva egy adott csúcsig vannak elemek.
Részletesebbenend function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..
A Név: l 2014.04.09 Neptun kód: Gyakorlat vezető: HG BP MN l 1. Adott egy (12 nem nulla értékû elemmel rendelkezõ) 6x7 méretû ritka mátrix hiányos 4+2 soros reprezentációja. SOR: 1 1 2 2 2 3 3 4 4 5 6
RészletesebbenMegjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:
1. Tétel Az állomány két sort tartalmaz. Az első sorában egy nem nulla természetes szám van, n-el jelöljük (5
RészletesebbenAlgoritmusok és adatszerkezetek II.
Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 6. Ugrólista (Skiplist) Definíció. Olyan adatszerkezet, amelyre
Részletesebben1. numere.txt n (1 n 10000) n növekvő kilenc a) Pascal/C++ Például: NUMERE.TXT
Az informatika érettségi harmadik tételsora tartalmaz egy feladatot, melyet hatékonyan kell megoldani. A program megírása mellett követelmény a megoldásban használt módszer rövid leírása, kitérve a módszer
RészletesebbenINFORMATIKA tétel 2019
INFORMATIKA tétel 2019 ELIGAZÍTÁS: 1 pont hivatalból; Az 1-4 feladatokban (a pszeudokód programrészletekben): (1) a kiír \n utasítás újsorba ugratja a képernyőn a kurzort; (2) a / operátor osztási hányadost
RészletesebbenAdatszerkezetek 2. Dr. Iványi Péter
Adatszerkezetek 2. Dr. Iványi Péter 1 Fák Fákat akkor használunk, ha az adatok között valamilyen alá- és fölérendeltség van. Pl. könyvtárszerkezet gyökér (root) Nincsennek hurkok!!! 2 Bináris fák Azokat
RészletesebbenMelykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)}
Mélységi keresés Ez az algoritmus a gráf pontjait járja be, eredményképpen egy mélységi feszítőerdőt ad vissza az Apa függvény által. A pontok bejártságát színekkel kezeljük, fehér= érintetlen, szürke=meg-
RészletesebbenGráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor
Gráfok 2. Legrövidebb utak, feszítőfák előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar Legrövidebb utak keresése Minimális feszítőfa keresése Gráfok 2
RészletesebbenGráfalgoritmusok ismétlés ősz
Gráfalgoritmusok ismétlés 2017. ősz Gráfok ábrázolása Egy G = (V, E) gráf ábrázolására alapvetően két módszert szoktak használni: szomszédsági listákat, illetve szomszédsági mátrixot. A G = (V, E) gráf
RészletesebbenMinimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra:
Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra: C(T ) = (u,v) T c(u,v) Az F = (V,T) gráf minimális feszitőfája G-nek,
RészletesebbenFelvételi tematika INFORMATIKA
Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.
Részletesebben... fi. ... fk. 6. Fabejáró algoritmusok Rekurzív preorder bejárás (elsőfiú-testvér ábrázolásra)
6. Fabejáró algoritmusok Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban
RészletesebbenMegoldott feladatok. Informatika
Megoldott feladatok Informatika I.81. Egy autóbuszjegyen az n*n-es négyzethálóban összesen k lyukasztás lehet. Ha a buszjegyet fordítva helyezzük a lyukasztóba, akkor a jegy tükörképét kapjuk. (Csak egyféleképpen
RészletesebbenMelykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)}
Példa Adott egy n n-es sakktábla. Az (1,1) mezőn áll egy huszár. Határozzuk meg eljuthat -e az (u,v) mezőre, ha igen adjunk meg egy legkevesebb lépésből álló utat! Adjunk algoritmust, ami megoldja a feladatot.
RészletesebbenAlgoritmusok és adatszerkezetek II.
Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 3. Kiegyensúlyozott keresőfák A T tulajdonság magasság-egyensúlyozó
RészletesebbenDinamikus programozás vagy Oszd meg, és uralkodj!
Dinamikus programozás Oszd meg, és uralkodj! Mohó stratégia Melyiket válasszuk? Dinamikus programozás vagy Oszd meg, és uralkodj! Háromszögfeladat rekurzívan: c nj := a nj ha 1 j n c ij := a ij + max{c
RészletesebbenProgramozás alapjai. 5. előadás
5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk
RészletesebbenOrszágos Középiskolai Tanulmányi Verseny, 2004/2005-ös tanév INFORMATIKA, II. (programozói) kategória második fordulójának javítási útmutatója
Országos Középiskolai Tanulmányi Verseny, 2004/2005-ös tanév INFORMATIKA, II. (programozói) kategória második fordulójának javítási útmutatója Kérjük a tisztelt kollégákat, hogy az egységes értékelés érdekében
Részletesebben30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK
30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK A gráfos alkalmazások között is találkozunk olyan problémákkal, amelyeket megoldását a részekre bontott gráfon határozzuk meg, majd ezeket alkalmas módon teljes megoldássá
RészletesebbenGráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma
Készítette: Laczik Sándor János Gráfelmélet I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma Definíció: a G=(V,E) párt egyszerű gráfnak nevezzük, (V elemeit a gráf csúcsainak/pontjainak,e elemeit
RészletesebbenElmaradó óra. Az F = (V,T) gráf minimális feszitőfája G-nek, ha. F feszitőfája G-nek, és. C(T) minimális
Elmaradó óra A jövő heti, november 0-dikei óra elmarad. Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra: C(T ) = (u,v)
RészletesebbenIdőjárási csúcsok. Bemenet. Kimenet. Példa. Korlátok. Nemes Tihamér Nemzetközi Informatikai Tanulmányi Verseny, 2-3. korcsoport
Időjárási csúcsok Ismerjük N napra a déli hőmérséklet értékét. Lokálisan melegnek nevezünk egy napot (az első és az utolsó kivételével), ha az aznap mért érték nagyobb volt a két szomszédjánál, lokálisan
RészletesebbenGRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus
GRÁFELMÉLET 7. előadás Javító utak, javító utak keresése, Edmonds-algoritmus Definíció: egy P utat javító útnak nevezünk egy M párosításra nézve, ha az út páratlan hosszú, kezdő- és végpontjai nem párosítottak,
RészletesebbenAlgoritmuselmélet 2. előadás
Algoritmuselmélet 2. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Február 12. ALGORITMUSELMÉLET 2. ELŐADÁS 1 Buborék-rendezés
RészletesebbenMinimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra:
Minimális feszítőfák Legyen G = (V,E,c), c : E R + egy súlyozott irányítatlan gráf. Terjesszük ki a súlyfüggvényt a T E élhalmazokra: C(T ) = (u,v) T c(u,v) Az F = (V,T) gráf minimális feszitőfája G-nek,
RészletesebbenDiszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2015. ősz 1. Diszkrét matematika 2.C szakirány 3. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2015.
Részletesebben23. SZÉLESSÉGI BEJÁRÁS
23. SZÉLESSÉGI BEJÁRÁS A bejárási algoritmusok feladata általában a gráf csúcsainak végiglátogatása valamilyen stratégia szerint. A bejárás gyakran azért hajtjuk végre, mert adott tulajdonságú csúcsot
RészletesebbenAlgoritmusok bonyolultsága
Algoritmusok bonyolultsága 5. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm 1 / 27 Gazdaságos faváz Kruskal-algoritmus Joseph Kruskal (1928 2010) Legyen V = {v 1, v 2,..., v n }, E = {e 1, e 2,...,
RészletesebbenDiszkrét matematika 2.C szakirány
Diszkrét matematika 2.C szakirány 2017. tavasz 1. Diszkrét matematika 2.C szakirány 3. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2017.
RészletesebbenOperációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik
RészletesebbenEGYSZERŰ, NEM IRÁNYÍTOTT (IRÁNYÍTATLAN) GRÁF
Összefoglaló Gráfok / EGYSZERŰ, NEM IRÁNYÍTOTT (IRÁNYÍTATLAN) GRÁF Adott a G = (V, E) gráf ahol a V a csomópontok, E az élek halmaza E = {(x, y) x, y V, x y (nincs hurokél) és (x, y) = (y, x)) Jelölések:
RészletesebbenDiszkrét matematika 2. estis képzés
Diszkrét matematika 2. estis képzés 2018. tavasz 1. Diszkrét matematika 2. estis képzés 10. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék
RészletesebbenAlgoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Algoritmizálás Horváth Gyula Szegedi Tudomáyegyetem Természettudomáyi és Iformatikai Kar horvath@if.u-szeged.hu. Mohó algoritmusok A mohó stratégia elemi 1. Fogalmazzuk meg az optimalizációs feladatot
Részletesebben22. GRÁFOK ÁBRÁZOLÁSA
22. GRÁFOK ÁBRÁZOLÁSA A megoldandó feladatok, problémák modellezése során sokszor gráfokat alkalmazunk. A gráf fogalmát a matematikából ismertnek vehetjük. A modellezés során a gráfok több változata is
RészletesebbenAdatszerkezetek II. 3. előadás
Adatszerkezetek II. 3. előadás Körmentes-e egy irányítatlan gráf? Alapötlet: Ha a bejárás során minden szürke pontból csak fehér pontba vezet él, akkor a gráf körmentes. 2013.02.27. 2 Körmentes?(p): Szín(p):=szürke;
Részletesebben2. Visszalépéses keresés
2. Visszalépéses keresés Visszalépéses keresés A visszalépéses keresés egy olyan KR, amely globális munkaterülete: egy út a startcsúcsból az aktuális csúcsba (az útról leágazó még ki nem próbált élekkel
RészletesebbenGráfok 1. Tárolási módok, bejárások. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor
Gráfok 1. Tárolási módok, bejárások előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Gráfok 1. Tárolási módok Szélességi
RészletesebbenFelvételi vizsga mintatételsor Informatika írásbeli vizsga
BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) Felvételi vizsga mintatételsor Informatika írásbeli vizsga 1. (5p) Egy x biten tárolt egész adattípus (x szigorúan pozitív
RészletesebbenBASH script programozás II. Vezérlési szerkezetek
06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van
RészletesebbenA 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának feladatai. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 1/18 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának feladatai INFORMATIKA II. (programozás) kategória 1. feladat: K-homogén sorozat ( pont) Azt mondjuk, hogy az
RészletesebbenA 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató INFORMATIKA II. (programozás) kategória Kedves Versenyző! A megoldások értékelésénél
Részletesebben2018, Diszkrét matematika
Diszkrét matematika 3. előadás mgyongyi@ms.sapientia.ro Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia 2018, őszi félév Miről volt szó az elmúlt előadáson? számtartományok: természetes
RészletesebbenA 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny második forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória
Oktatási Hivatal A 2013/2014 tanévi Országos Középiskolai Tanulmányi Verseny második forduló javítási-értékelési útmutató INFORMATIKA II. (programozás) kategória Kérjük a tisztelt kollégákat, hogy az egységes
RészletesebbenMódosítható Prioritási sor Binomiális kupaccal. Wednesday, March 21, 12
Módosítható Prioritási sor Binomiális kupaccal modosit(x,k) {! if (k>x.kulcs) {!! x.kulcs=k ;!! y=x!! z=x.apa ;!! while(z!=nil and y.kulcs
Részletesebben2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)
A Név: l 2017.04.06 Neptun kód: Gyakorlat vezet : HG BP l 1. Az A vektor tartalmát az alábbi KUPACOL eljárással rendezzük át maximum kupaccá. A={28, 87, 96, 65, 55, 32, 51, 69} Mi lesz az értéke az A vektor
RészletesebbenA félév során előkerülő témakörök
A félév során előkerülő témakörök rekurzív algoritmusok rendező algoritmusok alapvető adattípusok, adatszerkezetek, és kapcsolódó algoritmusok dinamikus programozás mohó algoritmusok gráf algoritmusok
RészletesebbenOKTV 2006/2007. Informatika II. kategória döntő forduló Feladatlap
Feladatlap Kedves Versenyző! A megoldások értékelésénél csak a programok futási eredményeit vesszük tekintetbe. Ezért igen fontos a specifikáció pontos betartása. Ha például a feladat szövege adatok valamilyen
RészletesebbenA számítástudomány alapjai
A számítástudomány alapjai Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Legszélesebb utak Katona Gyula Y. (BME SZIT) A számítástudomány
Részletesebben1. ábra. Egy rekurzív preorder bejárás. Egy másik rekurzív preorder bejárás
Preorder ejárás Fa bejárásán olyan algoritmust értünk, amelynek bemenete egy F fa és egy M művelet, és az algoritmus adott sorrendben pontosan egyszer végrehajtja az M műveletet a fa pontjaiban lévő adatokra.
RészletesebbenMelykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)}
Példa Adott egy sziget ahol 42 kaméleon lakik. A kaméleonok három színt vehetnek fel piros, kék és zöld. Ha két különböző színű kaméleon találkozik, akkor megijednek és mindkettő átváltoztatja a színét
RészletesebbenDiszkrét matematika 2.
Diszkrét matematika 2. Mérai László előadása alapján Készítette: Nagy Krisztián 1. előadás Gráfok halmaza, gráf, ahol a csúcsok halmaza, az élek illesztkedés reláció: illesztkedik az élre, ha ( -él illesztkedik
RészletesebbenSapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus
Csíkszereda IRT-. kurzus 3. Előadás: A mohó algoritmus 1 Csíkszereda IRT. kurzus Bevezetés Az eddig tanult algoritmus tipúsok nem alkalmazhatók: A valós problémák nem tiszta klasszikus problémák A problémák
Részletesebben1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007
Hálózatok II 2007 1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok 1 Az előadáshoz Előadás: Szerda 17:00 18:30 Gyakorlat: nincs Vizsga írásbeli Honlap: http://people.inf.elte.hu/lukovszki/courses/g/07nwii
RészletesebbenÍ Ó É É É É Ó Ó ú ú Ó Ő Í Ó Ö Ó
ÍÍ Ó É Ó Ó ú Ó Ó Ó ú Ó É Í Ó É É É É Ó Ó ú ú Ó Ő Í Ó Ö Ó É ú Ö Ö Ó É Ó ú ú Á Ó Í Ó Á Ő Ó Ó ú Ó Ó Ó Ó Ó Ó ú Ó Í Í Ó Ő É Ó ú Ő Ő É Ó Ö Ó Ó Ó É Ó Ó É Ú Í Ö ú ú Ö Ö Ó ú ú Ó Ó Ó Ó Ó Ó Í Ó ú Ú Ó ú Í Ó Ó Ó Ó
RészletesebbenAlgoritmusok helyességének bizonyítása. A Floyd-módszer
Algoritmusok helyességének bizonyítása A Floyd-módszer Algoritmusok végrehajtása Egy A algoritmus esetében a változókat három változótípusról beszélhetünk, melyeket az X, Y és Z vektorokba csoportosítjuk
RészletesebbenA számítástudomány alapjai. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem
A számítástudomány alapjai Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem Bináris keresőfa, kupac Katona Gyula Y. (BME SZIT) A számítástudomány
RészletesebbenAlgoritmusok és adatszerkezetek II.
Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 5. Vágható-egyesíthető Halmaz adattípus megvalósítása önszervező
Részletesebben2016, Diszkrét matematika
Diszkrét matematika 2. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2016, őszi félév Miről volt szó az elmúlt előadáson? Követelmények,
Részletesebbenü É ö É É ö ö ö ü ö ö Á ű ö ű ű ű Á Í ö ö Ó ö
Ü É ű ü ü ö Í ü ö ö ü ű Í Í ü ű ö Ö ö ö ö Í ü ü É ö É É ö ö ö ü ö ö Á ű ö ű ű ű Á Í ö ö Ó ö ü ü ü Í ü ö ö ö ö ö ö ö ü Í Í ű ö ö ö ü ü ö ü ö ö ö ü ö ö ö ö ü ü ű ü ö ö ö ü ö ü ű ö ü ö ö ű Í ü ü ű Í ö ü ö
RészletesebbenÍ Ó ü ü í ü ü ü í Í í É í í Í Í ü ü ü í Í ü
É Á í É Á Á ü Ú ű í Í Í Ü ü ú ü Í ü ü ü ü Í ü Í í ü ü ü ü ü ü ü ü ü í Í Ó ü ü í ü ü ü í Í í É í í Í Í ü ü ü í Í ü Í Ó Í Ó ü ü ü Í ü ü É ü ü ü ü ü É ü ü Í ü ü ü Í Ó Í Ó í Á í É ü í Í ü í Í í í ü ü É ü ü
RészletesebbenÍ Ú É ő ő ú ö Ö ú ú ú ö ö ú ö ö ű ö ő ö ö ú ö ő ő ö ö ö ő ő ú ő ú ö ö ö ú ö ö ú ő ö ú ö ű ö ő Ó ő Á ö ő ö ö
ö ú ö ö ú ö ú Ü ő ú ő ö ő ő ő ö ö Í Ú É ő ő ú ö Ö ú ú ú ö ö ú ö ö ű ö ő ö ö ú ö ő ő ö ö ö ő ő ú ő ú ö ö ö ú ö ö ú ő ö ú ö ű ö ő Ó ő Á ö ő ö ö Ú ő ö ő ő ő ö ú ú ú ő ö ő ö ő ő ő ö ö ö ö ő ő ö ő ú ő ö ú ö
RészletesebbenÜ ű ö Á Ü ü ö ö
Í Í Ü Ú ö ú Ö Ü ű ö Á Ü ü ö ö ú ü ü ö ü ö ö ö ö Ü Ü ö ö ö ö ö ü ü ö ü Ü ö ú ü ö ü ö ű ö ű Ü ü ö É ö ü ü ö ö ö ö ö ö ö ö Ó ö Ü ü Ü ü ü ö ö ö ö ö ö ö ú ü ö ű ü ö ú ű Ü ö ö ö ü Ü Ü Ü ú ö ö ü ű ö ű ö Á Á Í
Részletesebbenő ő Ű ü ú ú Ú ü ű ő ő ő ő Á Á Í ü É ő ő ő ő ő É ő ú ú ú ő Á Ö ő
ő ő ű ú ő ü ü ü ü ü ő ő ü ü ü ü ü ü ü ü ü ő Ö ő ő ő ő ő Ű ü ú ú Ú ü ű ő ő ő ő Á Á Í ü É ő ő ő ő ő É ő ú ú ú ő Á Ö ő ő ű ő ú ü ú ő ő ő ő ő ő ő ő ő ő ő É ü ű ő ü Á ő ú ű ű ő ő ő É ü ű ő ő ő ű ú ü ú ő ő ő
Részletesebbenú ú ü ü Á ú ú ü ű ű ú ü ü ü ü
ü ü ü ú ú ü ű ü ű ü ü ű ü ü ü Í ú ú ü ü Á ú ú ü ű ű ú ü ü ü ü ú ü ü Á ű ü ü ü ü ü ü ü ú ü ü Í ú ü É Ö Ö ú Ö Ö Ö ú ú ü ú Á Ö Á ú É ü ú ú É ú ú ú Ü ü ű ú ű É ú ű ü ü Á ú É ü ű ü ú Á É É ú ü Ö Ö Ö ú ú Á Ö
Részletesebbení Ó ó ó í ó ó ó ő í ó ó ó ó
í Ú Á Í í Ó ó ó í ó ó ó ő í ó ó ó ó í Ó Ó í ő ó Í í í í Ó í ó í í Ő É Ú Ű Í É Á ó Á É É ó ó í É Ü Í ő í ó í ó í Ő Ő Á Ó Ó Á É É Á Á É É Ő Á Ú É í ó Á í Á í í ő í í Ő Ő É Ú Ű Í É Á ó Á É Ö Í Í É ó ó í Ú
RészletesebbenÍ Í Í Ü Ó Ó Ö Á Ü Ü Ó Ü Ü Ó Ö Í É Ö
Ö É Ö Í Í Í Ü Ó Ó Ö Á Ü Ü Ó Ü Ü Ó Ö Í É Ö Ü Ü Á É Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ú Í É Ó Á Ü Á É Á Ü Í Í Í Í Ü Í Í Í Í Í É Ö Á Í Á Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Í Í É Í Í É É Í Í Í É Í Ü Í Ü Á Ü Ü
RészletesebbenÉ ő ő ű ú Á ő Á ő ű ő ő ő ő ő ő ő ő ű ú ű ű ő ő ő ű
ő ő ű ú Á ő ű ő ő ő ő Ö Ö Í Á É Á ő Ö Ö Í ő ő ő ő É ő ő ú ú ú ő Á Ö É ő ő ű ú Á ő Á ő ű ő ő ő ő ő ő ő ő ű ú ű ű ő ő ő ű ő ű ő ú Á ő ű ő ő ő ő ő ő Ö ő ú ú Ö ő ő ű ú Á ő ú Ó ű Ó ú ú ú ő ő ú ú ő ő ú ő Ú ú
Részletesebbenő ő ő ő ú É ü ú ú ű ú ű ő ő ő ő Á Á ü ő É É É É É É Á Ú Á Á ő ő ő ő ő É Á Á Á ő ő ő Á ü ő ő ü
ő É ő ő ő ő É Ü Ö Ö Ö Í Ö Ö Ö ő Ó Ó Ö Ö Á É É É ő Á É Á Á Ú Á Ú Ö Ö Á Ú Ö Á ű Á ú ő ő ü ü Ó ő ő ő ő ú É ü ú ú ű ú ű ő ő ő ő Á Á ü ő É É É É É É Á Ú Á Á ő ő ő ő ő É Á Á Á ő ő ő Á ü ő ő ü ő ő ő ő Á ü ú ú
RészletesebbenÉ Í Á Á É Ü Ó É É É É Í Ó Ó Ő Á Á É Á É É É É Á É É Á Á É É Á É Í
Í É Í Á Á É Ü Ó É É É É Í Ó Ó Ő Á Á É Á É É É É Á É É Á Á É É Á É Í É Á É Í Í É É Í Í Í Á Í Á Á ö ó ö ö ő ő ő ö ö ó ő ű ö ö ö ö ü ö ö ö ü ü ó ö Á ó ó ö ö ő ő ő ő ö ó ü ó ó ó ó ó ó ö ü ü ó ö Ó Í Í É É
Részletesebbenü ö ú ö ú ü ö ü Á Ó ö ö ö ö ú ü ú ü ü ú ú ö ö ü ü ú ü ü ö ö ű ö ü ü ü ü ö ö
Í Á Ö Ú Á Á Ó Á ö ú ú ö ú ú ö ü ü ű ü ű ö ö ü ű ö ü ö ú ö ü ú ö ö ü ü ö ü ű ö ö ü ű ö ö ú ö ö ú ú ü ö ú ö ú ü ö ü Á Ó ö ö ö ö ú ü ú ü ü ú ú ö ö ü ü ú ü ü ö ö ű ö ü ü ü ü ö ö ü ö ü ö ö ü ö ö ú ö ü ű ö ü
RészletesebbenÜ
Ó Á ú Á É Ü Ö Ö Ö É É É Ö É Ü Ö É É É É É Ó Ö Ó Í Ö Ö Ö Ö Í Ö Ö É É É Í Ö Ö É Ö Í Á Ó Í Á É É Ó É Ú Á Í É É É Ö Ö Ó Ö Ö Ö Ö Ó Ó Ó Í Ü Ö É É Ö Ó Ö Ó ö Ö Ö Ö Ö Ö Ó Ü Ö Ó É ű É É É É É É É É Í Ö Ó Ö É Ö Ö
RészletesebbenÖ Ö Ú Ó Ö ű Ő Ő ű ű Ü Ő Ó Ő
ű É ű ű É Ö Ö Ú Ó Ö ű Ő Ő ű ű Ü Ő Ó Ő É Ó Ó É ű Ö ű Ö ű ű ű Ú Ú Ö ű ű ű Ö ű ű ű ű ű ű ű ű Ú É É É É Ö Ö Ú Ö É ű ű ű ű ű ű ű Ó ű Ö Ö ű ű ű É ű ű ű ű ű ű ű ű ű É ű ű ű ű ű ű ű ű ű ű Ö ű ű ű Ü ű ű ű ű Ö ű
Részletesebben