velika nagrada - ioi 2017ioi2017.org/tasks/day2/prize/prize-mne.pdf · 2017-07-31 · international...

4
International Olympiad in Informatics 2017 July 28 August 4, 2017 Tehran, Iran Day 2 Tasks prize English (MNE) Velika nagrada "Velika nagrada" je poznati TV kviz. Ti si srećni takmičar koji je prošao u finalnu rundu. Pred tebe je postavljen niz od kutija, označenih od do , slijeva udesno. Svaka kutija sadrži nagradu koja ostaje nepoznata dok se ta kutija ne otvori. Postoji tipova nagrada. Tipovi su numerisani od do po opadajućem redosljedu vrijednosti. Nagrada tipa je najskuplja: dijamant. Postoji tačno jedan dijamant u kutijama. Nagrada tipa je najjeftinija: lizalica. Kako bi igra bila uzbudljivija, broj jeftinijih nagrada je mnogo veći od broja skupljih nagrada. Preciznije, za svako za koje znamo sljedeće: Ako ima nagrada tipa , onda ima strogo više od nagrada tipa . Tvoj cilj je da osvojiš dijamant. Na kraju igre otvaraš jednu kutiju i osvajaš nagradu koja se nalazi u njoj. Pre nego što odabereš koju ćeš kutiju otvoriti, imaš priliku da Rambodu, domaćinu kviza, postaviš neka pitanja. Za svako pitanje odabiraš neku kutiju . Kao svoj odgovor, Rambod će ti dati niz koji sadrži dva cijela broja. Njihovo značenje je sljedeće: Među svim kutijama lijevo od kutije ima tačno kutija koje sadrže skuplju nagradu od nagrade u kutiji . Među svim kutijama desno od kutije ima tačno kutija koje sadrže skuplju nagradu od nagrade u kutiji . Na primjer, pretpostavimo da je . Za svoje pitanje odabrao si kutiju . Rambodov odgovor je . Značenje ovog odgovora je: Tačno jedna od kutija i sadrži nagradu koja je skuplja od nagrade u kutiji . Tačno dvije od kutija sadrže nagradu koja je skuplja od nagrade u kutiji . Tvoj zadatak je da nađeš kutiju koja sadrži dijamant postavljajući mali broj pitanja. Detalji implementacije Implementirajte sljedeću funkciju: int find_best(int n) Grejder će ovu funkciju pozvati tačno jednom. : broj kutija. Ova funkcija treba da vrati oznaku kutije koja sadrži dijamant, tj. cio broj ( ) takav da kutija sadrži nagradu tipa . Prize (1 of 4)

Upload: others

Post on 26-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Velika nagrada - IOI 2017ioi2017.org/tasks/day2/prize/prize-MNE.pdf · 2017-07-31 · International Olympiad in Informatics 2017 July 28 – August 4, 2017 Tehran, Iran Day 2 Tasks

InternationalOlympiadinInformatics2017July28–August4,2017Tehran,IranDay2Tasks

prizeEnglish(MNE)

Velikanagrada"Velikanagrada"jepoznatiTVkviz.Tisisrećnitakmičarkojijeprošaoufinalnurundu.Predtebejepostavljennizod kutija, označenihod do , slijeva udesno.Svaka kutija sadrži nagradukojaostajenepoznatadoksetakutijaneotvori.Postoji tipovanagrada.Tipovisunumerisaniod do poopadajućemredosljeduvrijednosti.

Nagrada tipa jenajskuplja:dijamant.Postoji tačno jedandijamantukutijama.Nagrada tipa jenajjeftinija: lizalica. Kako bi igra bila uzbudljivija, broj jeftinijih nagrada je mnogo veći od brojaskupljihnagrada.Preciznije,zasvako zakoje znamosljedeće:Akoima nagradatipa

,ondaimastrogovišeod nagradatipa .

Tvojciljjedaosvojišdijamant.Nakrajuigreotvarašjednukutijuiosvajašnagradukojasenalaziunjoj. Pre nego što odabereš koju ćeš kutiju otvoriti, imaš priliku da Rambodu, domaćinu kviza,postavišnekapitanja.Zasvakopitanjeodabirašnekukutiju .Kaosvojodgovor,Rambodćetidatiniz kojisadržidvacijelabroja.Njihovoznačenjejesljedeće:

Među svim kutijama lijevo od kutije ima tačno kutija koje sadrže skuplju nagradu odnagradeukutiji .Međusvimkutijamadesnoodkutije ima tačno kutija koje sadrže skuplju nagraduodnagradeukutiji .

Naprimjer,pretpostavimodaje .Zasvojepitanjeodabraosikutiju .Rambodovodgovorje .Značenjeovogodgovoraje:

Tačnojednaodkutija i sadržinagradukojajeskupljaodnagradeukutiji .Tačnodvijeodkutija sadrženagradukojajeskupljaodnagradeukutiji .

Tvojzadatakjedanađeškutijukojasadržidijamantpostavljajućimalibrojpitanja.

Detaljiimplementacije

Implementirajtesljedećufunkciju:

intfind_best(intn)

Grejderćeovufunkcijupozvatitačnojednom.:brojkutija.

Ova funkcija trebadavratioznakukutijekojasadržidijamant, tj.ciobroj ( )takavdakutija sadržinagradutipa .

Prize (1 of 4)

Page 2: Velika nagrada - IOI 2017ioi2017.org/tasks/day2/prize/prize-MNE.pdf · 2017-07-31 · International Olympiad in Informatics 2017 July 28 – August 4, 2017 Tehran, Iran Day 2 Tasks

Ovafunkcijamožedapozivasljedećufunkciju:

int[]ask(inti)

:oznakakutijezakojupostavljašpitanje.Vrijednost morabitiizmeđu i ,uključivo.Ovafunkcijavraćaniz sa elementa.Ovdeje brojskupljihnagradaukutijamalijevoodkutije ,a jebrojskupljihnagradaukutijamadesnoodkutije .

Primjer

Grejderpozivasljedećuproceduru:

find_best(8)

Postoji kutija. Pretpostavimo da su tipovi nagrada . Svi mogući poziviprocedureaskiodgovarajućiodgovorisunavedeniispod.

ask(0)vraćaask(1)vraćaask(2)vraćaask(3)vraćaask(4)vraćaask(5)vraćaask(6)vraćaask(7)vraća

Uovomprimjeru,dijamantjeukutiji ,tezbogtogaprocedurafind_besttrebadavrati .

Slikaiznadprikazujeovajprimjer.Gornjidioslikeprikazujetipovenagradausvakojkutiji.Donjidio

Prize (2 of 4)

Page 3: Velika nagrada - IOI 2017ioi2017.org/tasks/day2/prize/prize-MNE.pdf · 2017-07-31 · International Olympiad in Informatics 2017 July 28 – August 4, 2017 Tehran, Iran Day 2 Tasks

slikeprikazujeupitask(2).Čekiranekutije sadrževrednijenagradeodnagradekoja senalazi ukutiji .

Ograničenja

.Tipovinagradausvakojodkutijasuizmeđu i ,uključujućitebrojeve.Postojitačnojednanagradatipa .Zasve ,ukolikopostoji nagradatipa ,ondapostojistrogovišeod nagradatipa .

Podzadaciibodovanje

Unekim test primjerimagrejdermožedaseponašaadaptivno.Toznači dau tim test primjerimagrejder nema fiksan niz nagrada, nego odgovor grejderamože da zavisi od pitanja kojemu tvojprogram postavi. Garantuje se da će grejder odgovarati tako da nakon svakog odgovora postojibaremjedanniznagradakonzistentansasvimodgovorimadotada.

1. (20bodova)Postoji tačno dijamant i lizalica ( ).Možespozvati proceduruasknajviše puta.

2. (80bodova)Nemadodatnihograničenja.

Upodzadatku2možesdadobiješparcijalnebodove.Nekaje najvećibrojpozivaprocedureaskmeđusvim testprimjerimauovompodzadatku.Ondaćese tvoj broj bodovazaovajpodzadatakračunatipremasljedećojtabeli:

Brojpitanja Bodovi

(prikazanouCMS-ukao'WrongAnswer')

Primjergrejdera

Primjergrejderanijeadaptivan.Umestotoga,primjergrejderasamoučitavaikoristifiksanniztipovanagrada .Zasve ,tipnagradeukutiji jedatsa .Primjergrejderaočekujeulazusljedećemformatu:

linija :linija :

Primjer grejdera ispisuje jednu liniju koja sadrži vraćenu vrijednost od funkcijefind_best i broj

Prize (3 of 4)

Page 4: Velika nagrada - IOI 2017ioi2017.org/tasks/day2/prize/prize-MNE.pdf · 2017-07-31 · International Olympiad in Informatics 2017 July 28 – August 4, 2017 Tehran, Iran Day 2 Tasks

pozivaprocedureask.

Prize (4 of 4)