You are on page 1of 5

Državno natjecanje iz informatike

Srednja škola
Prva podskupina (1. i 2. razred) – Prvi dan natjecanja

4. svibnja 2022.

Zadatci

Ime zadatka Vremensko ograničenje Memorijsko ograničenje Broj bodova

Rang 1 sekunda 512 MiB 40


Lektira 1 sekunda 512 MiB 50
Tenis 2 sekunde 512 MiB 60

Ukupno 150
Državno natjecanje iz informatike 2022. Zadatak: Rang
Prva podskupina (1. i 2. razred) – prvi dan natjecanja 1 sekunda / 512 MiB / 40 bodova

Zadatak: Rang
Na natjecanju je sudjelovalo n natjecatelja označenih brojevima od 1 do n. Na konačnoj rang listi nije
bilo dijeljenih mjesta, te su natjecatelji u nekom poretku zauzeli mjesta od najboljeg (prvog) do najlošijeg
(n-tog).
Nakon što su se vratili u svoja sela i gradove, svaki natjecatelj prijateljima je dao izjavu oblika: osvojio
sam k-to mjesto. Ta izjava može biti istinita ili lažna: ako je lažna, onda je dotični natjecatelj zapravo bio
lošiji od k-tog mjesta.
Napišite program koji, samo na osnovi izjava svih natjecatelja, određuje koji su od njih sigurno govorili
istinu.

Ulazni podatci
U prvom je retku prirodan broj n (2 ≤ n ≤ 500 000), broj natjecatelja.
U idućem retku nalazi se n prirodnih brojeva iz intervala [1, n]. Ako je i-ti broj jednak k, to znači da je
natjecatelj s oznakom i rekao da je osvojio k-to mjesto.
Ulazni podatci neće biti međusobno kontradiktorni, tj. postojat će barem jedna rang lista koja je u skladu
s izjavama natjecatelja.

Izlazni podatci
U jedini redak ispišite razmakom odvojene oznake (poredane od najmanje do najveće) svih natjecatelja za
koje sa sigurnošću možemo zaključiti da govore istinu. Ako takvih nema, ispišite 0.

Bodovanje
U testnim primjerima ukupno vrijednima 16 bodova vrijedit će n ≤ 8.
U testnim primjerima ukupno vrijednima 28 bodova vrijedit će n ≤ 1000.

Probni primjeri
ulaz ulaz ulaz
3 3 5
1 1 1 1 2 3 4 4 1 3 1

izlaz izlaz izlaz


0 1 2 3 4

Pojašnjenje prvog probnog primjera: Svaki natjecatelj rekao je da je bio prvi. Ni za jednog
natjecatelja ne možemo znati govori li istinu.
Pojašnjenje drugog probnog primjera: Ovdje je jedina mogućnost da su sva tri natjecatelja rekla
istinu: natjecatelj 1 osvojio je prvo, natjecatelj 2 drugo, a natjecatelj 3 treće mjesto.
Pojašnjenje trećeg probnog primjera: Natjecatelji s oznakama 1 i 2 oba su rekli da su osvojili četvrto
mjesto (od mogućih pet), pa zaključujemo da je jedan od njih zauzeo četvrto, a drugi od njih peto mjesto.
To znači da je natjecatelj s oznakom 4, koji je rekao da je osvojio 3. mjesto, sigurno rekao istinu.

1 od 4
Državno natjecanje iz informatike 2022. Zadatak: Lektira
Prva podskupina (1. i 2. razred) – prvi dan natjecanja 1 sekunda / 512 MiB / 50 bodova

Zadatak: Lektira
Mladi Jan student je komparativne književnosti. Za faks često mora čitati lektire (koje nije pročitao u
srednjoj školi). Kako prati svoj napredak u čitanju, Jan svaki dan prebroji stranice koje je pročitao i
zabilježi koliko je posto knjige pročitao tog dana. Radi dodatne motivacije, Jan postotke koji nisu cijeli
brojevi zaokružuje na gore. Dakle, ako Jan n dana  čita knjigu od k stranica, gdje je k prirodan broj, a na
i-ti dan pročita si stranica, zapisat će broj pi = ski · 100 u svoju bilježnicu.


Jana sada zanima koliko je zapravo stranica pročitao svaki dan. No, knjigu je već vratio u knjižnicu pa
ne zna čak niti k, broj stranica knjige. Pomozite Janu odrediti koliko je najmanje stranica knjiga mogla
imati, a da postotci koje je zapisao svakoga dana budu točni. Za takav najmanji k ispišite i neki niz
brojeva stranica po danu si koji odgovara postotcima pi . Ako takav k ne postoji, ispišite samo −1.

Ulazni podatci
U prvom je retku prirodan broj n (1 ≤ n ≤ 100), broj dana koje je Jan čitao knjigu.
U sljedećem retku je niz od n cijelih brojeva pi (0 ≤ pi ≤ 100) iz teksta zadatka.

Izlazni podatci
U prvi red izlaza ispišite prirodan broj k – najmanji broj stranica koje Janova knjiga može imati ili −1
ako takav k ne postoji.
Ako takav k postoji, u drugi red izlaza ispišite n brojeva si – broj stranica koje je Jan pročitao svakoga
dana. Za brojeve k, si i brojeve pi iz ulaza mora vrijediti formula pi = d ski · 100e, a zbroj brojeva si mora
biti k.

Bodovanje
U testnim primjerima ukupno vrijednima 30% bodova, vrijedit će n = 2.

Probni primjeri
ulaz ulaz ulaz
2 3 4
51 50 67 17 17 11 21 31 41

izlaz izlaz izlaz


51 6 -1
26 25 4 1 1

Pojašnjenje drugog probnog primjera: Za brojeve stranica u knjizi vrijedi 46 · 100 ≈ 66.66 i 16 · 100 ≈
16.66. Zaokruživanjem brojeva na gore dobivamo postotke iz ulaza, odnosno 67% i dva puta po 17%.

2 od 4
Državno natjecanje iz informatike 2022. Zadatak: Tenis
Prva podskupina (1. i 2. razred) – prvi dan natjecanja 2 sekunde / 512 MiB / 60 bodova

Zadatak: Tenis
“Da bi mogao igrati tenis, trebaš imati veliki reket”, savjet je to koji je Luisu davnih dana dao starješina.
No Luis nažalost ima dvije lijeve ruke pa mu ni reket ne može pomoći.
Iako nije uspio kao igrač, njegova ljubav prema tenisu kroz godine nije jenjavala pa je svoju ulogu pronašao
kao rukovoditelj teniskih turnira. Pretpostavljate, ni taj posao nije uspio izvršavati kako spada.
Na jednom teniskom turniru sudjelovalo je 2N igrača. Igra se na ispadanje u klasičnoj turnir shemi kroz
N kola (vidi sliku). Svaki teniski meč igra se na dva dobivena seta. Preciznije, rezultat meča između
igrača A i B može biti 2:0, 2:1, 1:2 ili 0:2.

Turnir shema za turnir sa 3 kola u kojem sudjeluje 8 igrača.

Nakon turnira Luis je izgubio rezultate pojedinih mečeva, ali ima papir na kojem je zapisao ukupan broj
dobivenih i izgubljenih setova za svakog igrača.
Pomozite Luisu rekonstruirati ždrijeb turnira te rezultate svakog meča. U slučaju više mogućih rješenja
pronađite bilo koje.

Ulazni podatci
U prvom je retku prirodan broj N (1 ≤ N ≤ 18).
U sljedećih 2N redaka nalaze se po dva nenegativna cijela broja Wi i Li (0 ≤ Wi , Li ≤ 2N ), koji označuju
redom broj dobivenih te broj izgubljenih setova igrača s oznakom i.
Igrači su označeni brojevima od 1 do 2N .

Izlazni podatci
U prvi redak ispišite DA ako rješenje postoji ili NE ako rješenje ne postoji.
Ako rješenje postoji, u sljedećih 2N − 1 redaka ispišite rezultate mečeva turnira: najprije sve mečeve prvog
kola, zatim sve mečeve drugog kola i tako dalje.
Rezultat meča opisujemo pomoću dva cijela broja A i B te nizom znakova C koji predstavlja rezultat
meča između igrača s oznakama A i B.
Ispis će se smatrati neispravnim ako se u nekom kolu igrač pojavi više od jednom ili ako se u nekom kolu
pojavi igrač koji je već ispao iz turnira u nekom od prethodnih kola.

3 od 4
Državno natjecanje iz informatike 2022. Zadatak: Tenis
Prva podskupina (1. i 2. razred) – prvi dan natjecanja 2 sekunde / 512 MiB / 60 bodova

Bodovanje
U testnim primjerima vrijednima ukupno 10 bodova, vrijedit će N ≤ 3.
U testnim primjerima vrijednima dodatnih 20 bodova, vrijedit će N ≤ 10.
U testnim primjerima vrijednima dodatnih 10 bodova, vrijedit će da je broj izgubljenih setova svakog
igrača 0 ili 2.

Probni primjeri
ulaz ulaz
1 2
2 1 1 2
1 2 0 2
4 1
izlaz 3 3
DA izlaz
1 2 2:1
DA
3 2 2:0
4 1 2:1
3 4 2:1

4 od 4

You might also like