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

Post on 26-Feb-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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)

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)

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)

pozivaprocedureask.

Prize (4 of 4)

top related