6. EGYETEMI 24 ÓRÁS PROGRAMOZÓI VERSENY (PROGRAMOZÁS 1)

Hasonló dokumentumok
Nemes Tihamér Nemzetközi Informatikai Tanulmányi Verseny 2-3. korcsoport. Maximális növekedés

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

A 2010/2011 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának megoldása. II. (programozás) kategória

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai. INFORMATIKA II. (programozás) kategória

Hungaropharma Zrt. WEB Áruház felhasználói útmutató. Tartalomjegyzék

Oktatási Hivatal. A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai. II. (programozás) kategória

A 2010/2011 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának megoldása. II. (programozás) kategória

Kétszemélyes játékok Gregorics Tibor Mesterséges intelligencia

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

Mátrixjátékok tiszta nyeregponttal

Nyerni jó évfolyam

Regionális forduló november 18.

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

A 2014/2015 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

A 2016/2017 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

BASH script programozás II. Vezérlési szerkezetek

SzA II. gyakorlat, szeptember 18.

Kétszemélyes játékok

Gyakorló feladatok az 1. nagy zárthelyire

Dinamikus programozás - Szerelőszalag ütemezése

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának feladatai. INFORMATIKA II. (programozás) kategória

openbve járműkészítés Leírás az openbve-hez kapcsolódó extensions.cfg fájl elkészítéséhez






Országos Középiskolai Tanulmányi Verseny 2009/2010 Matematika I. kategória (SZAKKÖZÉPISKOLA) 2. forduló feladatainak megoldása

A Perkapun keresztül a gazdálkodó szervezetek és a jogi képviselővel eljáró felek nyújthatják be beadványaikat. A szolgáltatást kizárólag

Szerepjáték Project Story of my life

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

megtalálásának hihetetlen nehéz voltán alapszik. Az eljárás matematikai alapja a kis FERMAT-tétel egy következménye:

BASH SCRIPT SHELL JEGYZETEK

Algoritmizálás, adatmodellezés tanítása 6. előadás

Informatika feladatmegoldó verseny. Kiss Elemér Szakkollégium február 19. Dr. Kovács Lehel István

A 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

Programozási módszertan. Mohó algoritmusok

Felvételi tematika INFORMATIKA

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

NULLADIK MATEMATIKA ZÁRTHELYI

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

Kris Burm játéka. Tartozékok

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

Környezet statisztika

Webprogramozás szakkör

( 1) i 2 i. megbízhatóságú a levont következtetése? A matematikai statisztika eszközeivel értékelje a kapott eredményeket!

Az egyszerűsítés utáni alak:

file://c:\coeditor\data\local\course410\tmp.xml

Az RDC támogatási webhely elérése

Azaz 56 7 = 49 darab 8 jegyű szám készíthető a megadott számjegyekből.

K O M B I N A T O R I K A P e r m u t á c i ó k, k o m b i n á c i ó k, v a r i á c i ó k





Java II. I A Java programozási nyelv alapelemei

A Szállítási feladat megoldása

Egyszerű programozási tételek

A 2016/2017 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

WP1 Vezérlő Használati Útmutató

A foglalkozás során a tanulók részt vesznek a program megtervezésében, megvalósításában, tesztelésében és továbbfejlesztésében. SZERZŐ: Vindics Dóra

1. Regisztráció. Kedves Jelentkező!

Soros felépítésű folytonos PID szabályozó

1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt:

AWK programozás Bevezetés

Első belépés az Office 365 rendszerbe

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII,

ÉVFOLYAM ZH PRÓBA. Feladat (projekt- és exe-név: miki; tömörített fájl neve: EHA-kód)

cím létrehozása

Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat április 13. Például (bemenet/pelda.

Programozási technológia I. 1. beadandó feladatsor

AWK programozás, minták, vezérlési szerkezetek

Írásjelek helyes szedése. Szabó Csaba. Mondatvégi írásjelek. Központozás. Kötőjelfélék. Szabó Csaba november 18.

Diszkrét matematika I.

Útkeresési eljárás a városi közforgalmú közlekedés szimulációjához

XXVII. Erdélyi Magyar Matematikaverseny Nagyvárad, február I. forduló - 9. osztály

Fejlesztési specifikációk

Minta felvételi feladatsor programozásból

Operációs rendszerek gyak.

Mohó stratégia. Feladat: Megoldás:

TESZ INTERNET ÉS KOMMUNIKÁCIÓ M7

MAGYAR BOWLING és TEKE SZÖVETSÉG TEKE SZAKÁGI SZÖVETSÉG

A félév során előkerülő témakörök

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

AWK programozás, minták, vezérlési szerkezetek

Mark-X Használati utasítás

Matematika kisérettségi I. rész 45 perc NÉV:...

Mesterséges Intelligencia MI

Például az input fájl adatai: Nagy_Bela 120 X O X Kiss_Agoston X X Toth_Pal 135 O X 155

OKTV 2005/2006 döntő forduló

A következő táblázat tartalmazza az egyes fajták jellemzőit.

INFORMATIKAI ALAPISMERETEK

Régebbi Matek M1 zh-k. sztochasztikus folyamatokkal kapcsolatos feladatai.

V. Kétszemélyes játékok

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

Programozási módszertan. Dinamikus programozás: szerelőszalag ütemezése Mátrixok véges sorozatainak szorzása

NULLADIK MATEMATIKA ZÁRTHELYI

Mohó algoritmusok. Példa:

A 2007/2008 tanévi Országos Középiskolai Tanulmányi Verseny első forduló feladatainak megoldása. II. (programozás) kategória

Átírás:

6. EGYETEMI 4 ÓRÁS PROGRAMOZÓI VERSENY (PROGRAMOZÁS 1) http://kockanap.nikhok.hu

ZÁRÓJELEK I. Feladat Feladatunk meghatározni, hogy a kifejezésünk zárójelezése helyes-e. Helyesnek tekinthető a zárójelezés, ha a zárójelek: (), [], {} párban vannak és a zárójelezési szabályoknak megfelelően vannak párosítva. Bemenet: Kimenet: Egy sor, a kiértékelendő kifejezés. Egy szó, ami, ha helyesen vannak használva a zárójelek, akkor a HELYES szó, egyébként a HELYTELEN szó. A kifejezés maximum 104 karaktert tartalmazhat. A kifejezés tartalmazhat a zárójeleken kívül szóközöket, számokat, az angol ábécé kisbetűit és nagybetűit. ({}([]{})[]) HELYES ({}([]{})[]) HELYES. TESZTESET ({90}(([AB]{})K16[]) (K[EdF(D)dr]o{(yk)}) 4. TESZTESET K()[ ]4{} 5. TESZTESET a[b[c[d]e)]](f 6. TESZTESET {[{HTc}]}q[Re]9(){3({}) HELYTELEN HELYES HELYES HELYTELEN HELYTELEN 7. TESZTESET ( HELYTELEN

3 JELSZÓFEJTÉS II. Feladat Az egyetemi élet nehéz, így megkéred egyik kedves barátodat, hogy adjon anyagot a zárthelyikhez. Megis teszi viszont a pendrive, amit kapsz tőle titkosítva van, a jelszót pedig egyszer sem lehet elrontani, mert ezesetben minden, ami rajta volt törlődik. Segítségként egy cetlit is mellékel, amin első ránézésre valami érthetetlen szemét van. Sajnos mivel a másnapi zh-ra semmit nem készültél és a kulcs a ketteshez a pendrivon van, így nekiállsz megfejteni az üzenetet Bemenet: Kimenet: Egy sor, a titkosított üzenet. Egy szám, ami a visszafejtett jelszó. A titkosított üzenet hossza (N): 5 < N 10 5 Rfc nclbpgtc nyqqumpb gq: cgefr-dgtc-rfpcc 853 Rfc nclbpgtc nyqqumpb gq: cgefr-dgtc-rfpcc 853. TESZTESET Ymj ujsiwnaj ufxxbtwi nx: tsj-ymwjj-tsj-ybt-tsj-ymwjj-ejwt 131130 Pda lajznera lwoosknz eo: pdnaa-oet-oaraj-oet-psk 3676 4. TESZTESET Cqn ynwmaren yjbbfxam rb: oxda-nrpqc-oren-oxda-oxda-bnenw-inax-oren 48544705 5. TESZTESET Uif qfoesjwf qbttxpse jt: uxp

4 ÁLLOMÁSOK III. Feladat Városfejlesztés során ránk hárul a feladat, hogy meghatározzuk egy buszpályaudvar minimális megállóinak számát. Mivel szinte lehetetlen, hogy papíron oldjuk meg a feladatot, ezért egy speciális programot készítünk. Minden, ami rendelkezésünkre áll a számításokhoz: a menetrend, ami a buszok érkezési és távozási időpontjait tartalmazza időrendi sorrendben. Például: Időpont Esemény Szükséges megállók Érkezési időpontok: 9:00;9:40;9:50;11:00;15:00;18:00 9:00 Érkezés 1 Távozási időpontok: 9:10;11:0;11:30;1:00;19:00;0:00 9:10 Távozás 0 9:40 Érkezés 1 9:50 Érkezés 11:00 Érkezés 3 11:0 Távozás 11:30 Távozás 1 1:00 Távozás 0 15:00 Érkezés 1 18:00 Érkezés 19:00 Távozás 1 Tehát a szükséges megállók száma: 3 0:00 Távozás 0 A minimálisan szükséges megállók száma megegyezik a teljes időtartam alatt maximálisan bent lévő buszok számával. Továbbá, ha azonos időpontban érkezik és távozik busz, akkor minden esetben az érkezés történik előbb. Bemenet: Kimenet: 1. sor: A járatok érkezési időpontjai időrendi sorrendben, pontosvesszővel elválasztva.. sor: A járatok távozási időpontjai időrendi sorrendben, pontosvesszővel elválasztva. Egy szám, a maximálisan szükséges megállók száma. Az érkezési és a távozási időpontok száma megegyezik. Távozás csak érkezést követően történhet (ha korábbi a távozási időpont, mint az érkezési, akkor az azt jelenti, hogy a következő napon távozott a busz). Az érkezés és a távozás minimálisan 1, maximálisan 100 időpontot tartalmazhat (külön-külön). 0:00 érkezési, távozási időpont 3:59 9:00;9:40;9:50;11:00;15:00;18:00 3 9:10;11:0;11:30;1:00;19:00;0:00 9:00;9:40;9:50;11:00;15:00;18:00 3 9:10;11:0;11:30;1:00;19:00;0:00. TESZTESET :33;3:00;0:10 3:00;0:00;:00 :00;3:00;3:30;3:50;1:00;:00;3:00 3 :45;0:01;0:0;0:03;:00;3:00;4:00

5 SZIMULÁTOR IV. Feladat Egy szigeten találjuk magunkat ahonnan csak úgy menekülhetünk, ha megöljük az összes ott található N darab szörnyet, különben ott ragadunk. A feladat elvégzéséhez M darab fegyver áll rendelkezésünkre. Minden fegyvernek van ereje (1 W s 100) és egy típusa (W t = {kard, íj, szigony}). Az ellenséges szörnyeket is lehet kategorizálni típusuk szerint (E t = {szárazföldi, légi, vizi}), illetve rendelkeznek erővel is (1 E s 100). Egy ellenséges szörnyet akkor tudunk legyőzni, ha a megfelelő kategóriájú fegyvert választjuk ellene úgy, hogy a fegyver ereje nagyobb vagy egyenlő legyen a szörny erejével. Ha egy fegyvert felhasználtunk, akkor annak ereje a szörny erejével csökken (ha így eléri a 0 értéket akkor használhatatlan lesz a továbbiakban). A fegyverek következő párosítással használhatók a szörnyek ellen (más párosítás nem képzelhető el): kard szárazföldi, íj légi, szigony vizi. Mivel szeretnénk elkerülni a felesleges küzdelmet, így egy szimulátort készítünk, ami a meglévő információk felhasználásával meghatározza, hogy sikeresen elmenekülhetünk-e a szigetről vagy sem. A szigeten lévő szörnyek: A rendelkezésre álló fegyverek: kard:100 szigony:7 szigony:43 íj:87 szigony:13 A fegyverek a következő formában kerülnek felhasználásra a szörnyek ellen: kard (100) szárazföldi (69) kard (31) szárazföldi (8) kard (3) A 100-as erejű karddal megöltünk kettő darab szörnyet, az új ereje a kardnak: 3. kard:3 szigony:7 szigony:43 íj:87 szigony:13 szigony (7) vizi (4) szigony (3) A 7-es erejű szigonnyal megöltünk egy darab szörnyet, az új ereje a szigonynak: 3. kard:3 szigony:3 szigony:43 íj:87 szigony:13 szigony (43) vizi (41) szigony () A 43-as erejű szigonnyal megöltünk egy darab szörnyet, az új ereje a szigonynak:. kard:3 szigony:3 szigony: íj:87 szigony:13 íj (87) légi (78) íj (9) légi (1) íj (8) légi (8) íj (0) A 87-es erejű íjjal megöltünk három darab szörnyet, az új ereje az íjnak: 0. kard:3 szigony:3 szigony: szigony:13 szigony (13) vizi (10) szigony (3) A 13-as erejű szigonnyal megöltünk egy darab szörnyet, az új ereje a szigonynak: 3. kard:3 szigony:3 szigony: íj:87 szigony:3 Ha ezekkel a feltételekkel nekivágunk a feladatnak, akkor a szimuláció alapján SIKEResen megmenekülhetünk a szigetről.

Bemenet: Kimenet: 1. sor: A szigeten található szörnyek száma (N) és a felhasználható fegyverek száma (M) szóközzel elválasztva.. sor: A szörnyek felsorolása szóközzel elválasztva, ahol az egyes szörnyek E t:e s formában vannak megadva. 3. sor: A fegyverek felsorolása szóközzel elválasztva, ahol az egyes fegyverek W t:w s formában vannak megadva. Egy szó, ami, ha minden szörnnyel tudunk végezni, akkor a SIKER szó, egyébként a KUDARC szó. 1 N, M 10 5 (szörnyek, fegyverek száma) 1 W s, E s 100 (szörnyek, fegyverek ereje) W t = {kard, íj, szigony} E t = {szárazföldi, légi, vizi} Típus párosítások: kard szárazföldi, íj légi, szigony vizi 8 5 SIKER kard:100 szigony:7 szigony:43 íj:87 szigony:13 8 5 SIKER kard:100 szigony:7 szigony:43 íj:87 szigony:13. TESZTESET 5 KUDARC vizi:44 légi:78 kard:100 szigony:7 szigony:43 íj:87 szigony:13 1 1 SIKER szárazföldi:99 kard:100 4. TESZTESET 1 1 KUDARC vizi:50 íj:50 5. TESZTESET 3 SIKER szárazföldi:1 szárazföldi:7 szárazföldi:10 kard:7 kard:1 6

7 OSZTÓJÁTÉK V. Feladat Az osztójátékot két játékos (A: versenyző kódja, B: ellenfél kód) játsza egy előre megadott szám (N) osztóin, aminek felváltva mondják az osztóit a következő szabályok figyelmbevételével: A megadott szám (N) nem mondható, annak csak az osztóit lehet mondani. Amelyik szám már egyszer elhangzott, az és annak osztói már nem mondhatóak többször. Az a játékos veszít, aki kimondja vagy a megadott (N) számot, vagy egy már korábban elhangzott szám egyikét, vagy egy már korábban elhangzott szám osztóját. Az a játékos nyer, aki az utolsó helyes osztószámot mondja ki. Lépéskényszer miatt mindenképpen mondani kell valamit, egyébként veszít a játékos. Feladat: A nyerő stratégia megtalálása és megvalósítása; az ellenfél (B) legyőzése mindegyik tesztesetnél. Megjegyzés: a játékban a kezdő játékosnak van biztos nyerő stratégiája. Mindig a versenyző kódja (A) kezd. A tesztelésnél használt AI (B) minden lépésnél a számára legmegfelelőbb döntést hozza. A helyes megoldás elkészítésében segíthet, ha elkészítjük a játékfát, ami alapján próbáljuk meghatározni a nyerő stratégiát. Bemenet: 1. sor: A következő (beolvasandó) sorok száma.. sor: Az N szám. (A nem nyilvános teszteseteknél véletlenszerűen kiválasztva). 3. sor: Az N szám osztói szóközzel elválasztva. *4. sor: A már kiválasztott osztók a játék során (nem feltétlenül tartalmazza az osztók osztóit). *5. sor: Az ellenfél (B) utolsóként választott (osztó) száma. *Első körben nem szerepelnek. Kimenet (minden körben): Egy szám, ami az adott körben a versenyző kódja (A) által választott osztószám. Az N szám értéke: 1 < N < 10 5. A játék állapotát a versenyző kódjának nem kell vizsgálni. A versenyző kódja nyer, ha: Az utolsó olyan osztó számot jeleníti meg a kimeneten ami nem az N szám, nem mondták még, nem osztója a már kiválasztott osztóknak. A következő lépésben az ellenfél kód (B)már nem tud érvényes osztószámot mondani. A versenyző kódja veszít, ha: A következő lépésnél nem osztószám jelenik meg a kimeneten. A következő lépésénél az N szám jelenik meg a kimeneten. A következő lépésénél olyan szám jelenik meg a kimeneten, ami már egyszer ki volt választva. A következő lépésénél olyan szám jelenik meg a kimeneten, ami osztólya a már kiválasztott osztók egyikének. Nem jelenik meg szám a kimeneten vagy nem szám jelenik meg a kimeneten.

8 (1. kör A kód) 1 (Az A kód az 1-est választotta) 1 (Így már nem választható számok: 1) 1 3 4 6 (. kör B kód) A B kód a 6-ost választja. (3.kör A kód) 4 4 (Az A kód a 4-est választotta) 1 (Így már nem választható számok: 1 3 4 6) 1 3 4 6 1 6 6 (A B kód a 6-ost választotta.) Az A kód (versenyző) nyert, a B kód nem tud újabb helyes osztót mondani. 1 1 3 4 6. TESZTESET 50 1 5 10 5 50 15 4100530 1 5 7 10 14 35 70 58579 117158 95895 410053 585790 80106 05065 4. TESZTESET 33 1 3 11 5. TESZTESET 7 1