You are on page 1of 3

ŠKOLSKO NATJECANJE 2010.

OSNOVNE ŠKOLE BASIC/PASCAL/C/C++


II. podskupina (7. i 8. razred)
Primjeri za koje program ne ispiše rješenje u vremenu do 10 sekundi bodovat će se s 0 bodova.
Ako se kod testiranja pojavi sintaktička pogreška, rješenje nosi 0 bodova.
Ukoliko se unosi više ulaznih podataka u istom redu, oni će biti razdvojeni sukladno pravilima
programskog jezika u kojemu se rješava: , (zarezom) u Basicu i [SPACE] (razmakom) u
preostalim jezicima.
SRETNO I USPJEŠNO!

1. zadatak (II. podskupina) BURJ KHALIFA 40 bodova


Burj Khalifa je trenutno najviša grañevina na svijetu. Visoka je preko 800 metara i ima 206
katova. Na 124. katu se nalazi glavni vidikovac s kojeg se pruža jedinstven pogled na Dubai. Do
toga vidikovca vodi nekoliko desetaka liftova.
Malo je poznato da na X-tom katu postoji i sporedni vidikovac do kojeg prometuje specijalni lift.
Taj vidikovac i lift mogu koristiti samo rijetki sretnici, meñu kojima ste i vi. Lift radi na malo
neobičan način: svaki put kada se u poseban otvor u liftu ubaci 1 zrnce pijeska, lift se podigne za
1 kat iznad onog na kojem se trenutno nalazi. Putovanje liftom započinje iz prizemlja (kat s
oznakom 0), a lift se kreće izmeñu katova označenih brojevima od 0 do X (ovaj lift ne prometuje
iznad X-tog kata).
Ali, neki posjetitelji tijekom putovanja počnu osjećati strah od visine. Takvi posjetitelji se
predomisle te se vrate u prizemlje umjesto da nastave put gore prema vidikovcu. Princip
spuštanja je isti, ubacivanjem 1 zrnca pijeska lift se spušta za 1 kat ispod trenutnog.
„Kat bez povratka“ je najviši kat na kojem se možemo predomisliti i vratiti natrag to jest kat na
kome još uvijek imamo dovoljno zrnaca za povratak liftom u prizemlje.
Napišite program koji za zadani broj katova X te dobiveni broj zrnaca N ispisuje koji kat je „kat
bez povratka“.
Ulazni podaci:
− Prirodan broj X ( 2 ≤ X ≤ 206 ), oznaka kata na kome se nalazi sporedni vidikovac;
− Prirodan broj N ( X ≤ N ≤ 500 ), broj zrnaca pijeska koje dobijete prije ulaska u lift.

Izlazni podaci:
− Prirodan broj koji predstavlja oznaku kata koji nazivamo „katom bez povratka.

Primjeri:

RB Ulaz Izlaz Objašnjenje


1. 100 52 Za penjanje do 52. kata, moramo potrošiti 52 zrnca.
104 Ostala su nam još 52 zrnca što je dovoljno za povratak
u prizemlje. Ako bi se popeli na 53. kat, tada bi nam
ostalo još 51 zrnce, što nije dovoljno za povratak u
prizemlje.
2. 55 30
61

Rješenje snimiti pod imenom BURJ.BAS ili BURJ.PAS ili BURJ.C ili BURJ.CPP +
BURJ.EXE
2. zadatak (II. podskupina) PLEJKA 70 bodova
Mali se Ivica jako voli igrati na svojoj igraćoj konzoli, ali ga jako živcira jedan problem. Naime,
sunce mu svaki dan udara u upravljač pa ne može dobro vidjeti što piše na gumbima koje treba
pritisnuti. Ivica je zato kupio rukavice X-Z MegaSuper 8231 koje na vrhovima prstiju imaju
skenere.

Sad bi mali Ivica htio da mu vi napišete program koji će, za sliku koju skener daje, ispisati iznad
kojeg gumba drži prst. Sve mogućnosti dane su u sljedećoj tablici:

##### ..#.. ..... #...# ##...


#...# .#.#. ..#.. .#.#. #.#..
slika koju daje
#...# #...# .#.#. ..#.. ##...
skener:
#...# .#.#. ##### .#.#. #.#..
##### ..#.. ..... #...# #..#.
gumb: kvadrat krug trokut X R
..#.. ..#.. ..#.. ..#.. #....
.###. ..#.. .#... ...#. #....
slika koju daje
#.#.# #.#.# ##### ##### #....
skener:
..#.. .###. .#... ...#. #....
..#.. ..#.. ..#.. ..#.. ####.
gumb: gore dolje lijevo desno L

Ulazni podaci:
− 5 redova, u svakom po 5 znakova, svaki znak je ili '.' (točka), ili '#' (ljestve). Ulazni podaci
uvijek će predstavljati jednu od 10 tipki prikazanih u gornjoj tablici.

Izlazni podaci:
− U jedinoj liniji izlaza, potrebno je ispisati iznad kojeg gumba Ivica drži prst kako je
navedeno u tablici.

Primjeri:

RB Ulaz Izlaz Objašnjenje


1. ##### kvadrat
#...#
#...#
#...#
#####
2. desno
..#..
...#.
#####
...#.
..#..
3. X
#...#
.#.#.
..#..
.#.#.
#...#

Rješenje snimiti pod imenom PLEJKA.BAS ili PLEJKA.PAS ili PLEJKA.C ili
PLEJKA.CPP + PLEJKA.EXE
3. zadatak (II. podskupina) GLAD 90 bodova
Matija se nalazi u školi i upravo ga je obuzela strašna glad! Glad koju je moguće smiriti samo
XXL sendvičem. Nažalost, XXL sendvič se prodaje samo u trgovini koja se nalazi izvan Matijine
škole. Da bi izašao iz škole, došao do trgovine, kupio sendvič i vratio se u školu (sendvič pojede
na povratku), Matiji treba točno onoliko vremena koliko traje mali odmor. Naš junak gleda na sat
i razmišlja koliko će još morati čekati prije nego krene kupiti sendvič. Zna da po sendvič može
krenuti samo u trenutku u kojem će imati dovoljno vremena da se vrati u školu do početka
sljedećeg sata.
Iako se s ovim problemom već mnogo puta susreo, on mu i dalje zadaje poteškoće (razlog tome
je i često mijenjanje trajanja školskih sati i odmora). Zato je odlučio zamoliti vas da napišete
program koji će mu reći koliko još mora čekati prije kretanja po sendvič.
Jedan dan u Matijinoj školi sastoji se od 12 školskih sati: 6 sati u jutarnjoj i 6 sati u
poslijepodnevnoj smjeni.
Prvi školski sat počinje u 08:00, a svaki školski sat traje S minuta. Odmor se nalazi izmeñu svaka
dva školska sata i traje A minuta ("mali" odmor). Iznimka su jedino dva "velika" odmora, koji
dolaze poslije trećeg sata svake smjene. Oni traju B minuta. Nakon 6. sata u prijepodnevnoj
smjeni je mali odmor i nakon njega počinje 1. sat u poslijepodnevnoj smjeni. Nastava (zadnji sat)
će uvijek završiti prije 22:00. Matija može otići po sendvič i pod malim i pod velikim odmorima, a
takoñer smije po sendvič krenuti i nakon završetka nastave.
Ulazni podaci:
− tri prirodna broja S, A i B, koji označavaju trajanje školskog sata, "malih" i "velikih"
odmora u minutama (1 <= S <= 60, 1 <= A <= 20, A <= B <= 30);
− dva prirodna broja: H i M, koji označavaju vrijeme koje je Matija očitao sa sata (0 <= H
<= 23, 0 <= M <= 59)
Izlazni podaci:
− poruka "Kreni za X" (bez navodnika), gdje je X traženo vrijeme minuta koje Matija mora
čekati;
− poruka "Kreni odmah" (bez navodnika), ako Matija može odmah krenuti po sendvič
Napomena:
− u primjerima vrijednim 45 bodova "veliki" će odmori trajati jednako kao i "mali" (u
ulaznim podacima će biti A = B)

RB Ulaz Izlaz Objašnjenje


1. 45 Kreni za 48 "Veliki" odmor traje koliko i "mali",
5 pa zvono za početak odmora zvoni svakih
5 50 minuta. Trenutno je 11:17, a
11 sljedeći odmor počinje u 12:05, do čega
17 treba čekati 48 minute.
2. 40 Kreni za 39 Trenutno je 12:42, a sljedeći odmor
6 počinje u 13:21 (jer je trenutni sat
11 počeo u 12:41).
12
42

Rješenje snimiti pod imenom GLAD.BAS ili GLAD.PAS ili GLAD.C ili GLAD.CPP +
GLAD.EXE

You might also like