KVALIFIKACIJE ZA OKRUŽNA TAKMIČENJA IZ INFORMATIKE
1. GORIVO
NAPOMENA: -Zadatak sa 1. kruga kvalifikacija, sezona 2022/2023. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++
Tri porodice koje žive u mestu A žele da otputuju na izlet u udaljeni grad B. Svaka porodica putuje svojim automobilom i pre puta treba da natoči gorivo, pri čemu je na pumpi neophodno kupiti uvek ceo broj litara goriva. Ako je poznato rastojanje od mesta A do mesta B i ako je poznata potrošnja goriva svakog automobila na 100 kilometara, odrediti najmanju ukupnu količinu koju sve tri porodice zajedno treba da kupe da bi svi uspeli da stignu do grada B.
Ulaz:
Sa standardnog ulaza se unosi prvo ceo broj r (10 ≤ r ≤ 1000) koji predstavlja rastojanje od mesta
A do mesta B (u kilometrima), a zatim tri cela broja p1, p2, p3 (2 ≤ pi ≤ 20) koja predstavljaju potrošnju
svakog od tri automobila na 100 kilometara.
Izlaz:
Na standardni izlaz ispisati traženu minimalnu količinu goriva.
Primer 1
Ulaz
850
7
8
9
Izlaz
205
Objašnjenje
Prvom automobilu je potrebno 59,5 litara da bi prešao 850 kilometara, pa će kupiti 60 litara, drugom je potrebno tačno 68 litara, a trećem je potrebno 76.5 litara, pa će kupiti 77 litara benzina, pa će svi zajedno kupiti 60+68+77=205 litara benzina.
Primer 2
Ulaz
987
6
9
11
Izlaz
258
Potrebno predznanje: Podaci u c++, Operatori u C++
Tri porodice koje žive u mestu A žele da otputuju na izlet u udaljeni grad B. Svaka porodica putuje svojim automobilom i pre puta treba da natoči gorivo, pri čemu je na pumpi neophodno kupiti uvek ceo broj litara goriva. Ako je poznato rastojanje od mesta A do mesta B i ako je poznata potrošnja goriva svakog automobila na 100 kilometara, odrediti najmanju ukupnu količinu koju sve tri porodice zajedno treba da kupe da bi svi uspeli da stignu do grada B.
Ulaz:
Sa standardnog ulaza se unosi prvo ceo broj r (10 ≤ r ≤ 1000) koji predstavlja rastojanje od mesta
A do mesta B (u kilometrima), a zatim tri cela broja p1, p2, p3 (2 ≤ pi ≤ 20) koja predstavljaju potrošnju
svakog od tri automobila na 100 kilometara.
Izlaz:
Na standardni izlaz ispisati traženu minimalnu količinu goriva.
Primer 1
Ulaz
850
7
8
9
Izlaz
205
Objašnjenje
Prvom automobilu je potrebno 59,5 litara da bi prešao 850 kilometara, pa će kupiti 60 litara, drugom je potrebno tačno 68 litara, a trećem je potrebno 76.5 litara, pa će kupiti 77 litara benzina, pa će svi zajedno kupiti 60+68+77=205 litara benzina.
Primer 2
Ulaz
987
6
9
11
Izlaz
258
2. KAKURO PROVERA
NAPOMENA: Zadatak sa 1. kruga kvalifikacija sezona 2022/23. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu
U igri Kakuro potrebno je upisati cifre od 1 do 9 u prazna polja tabele u skladu sa unapred zadatim zbirovima vrsta i kolona, tako da se svaki zbir dobija sabiranjem različitih cifara. Mi ćemo razmotriti jednostavnu varijantu ove igre u kojoj se brojevi upisuju u 4 polja, raspoređenih u dve horizontalne (vodoravne) vrste i dve vertikalne (uspravne) kolone, tako da su unapred dati zbirovi svake vrste i svake kolone.
Napiši program koji proverava da li su cifre upisane u skladu sa pravilima igre Kakuro.
Ulaz:
Prva linija standardnog ulaza sadrži dva pozitivna prirodna broja između 3 i 17 koji predstavljaju zbirove u svakoj od dve kolone. Naredna linija sadrži dva pozitivna prirodna broja između 3 i 17 koji predstavljaju zbirove u svakoj vrsti. Nakon toga se unose 4 broja (zadata u dve linije) koji su upisani u polja.
Izlaz:
Na standardni izlaz ispisati da ako je tabela popunjena ispravno tj. ne ako nije.
Primer 1
Ulaz
14 8
16 6
9 7
5 1
Izlaz
da
Primer 2
Ulaz
11 9
17 3
9 8
3 1
Izlaz
ne
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu
U igri Kakuro potrebno je upisati cifre od 1 do 9 u prazna polja tabele u skladu sa unapred zadatim zbirovima vrsta i kolona, tako da se svaki zbir dobija sabiranjem različitih cifara. Mi ćemo razmotriti jednostavnu varijantu ove igre u kojoj se brojevi upisuju u 4 polja, raspoređenih u dve horizontalne (vodoravne) vrste i dve vertikalne (uspravne) kolone, tako da su unapred dati zbirovi svake vrste i svake kolone.
Napiši program koji proverava da li su cifre upisane u skladu sa pravilima igre Kakuro.
Ulaz:
Prva linija standardnog ulaza sadrži dva pozitivna prirodna broja između 3 i 17 koji predstavljaju zbirove u svakoj od dve kolone. Naredna linija sadrži dva pozitivna prirodna broja između 3 i 17 koji predstavljaju zbirove u svakoj vrsti. Nakon toga se unose 4 broja (zadata u dve linije) koji su upisani u polja.
Izlaz:
Na standardni izlaz ispisati da ako je tabela popunjena ispravno tj. ne ako nije.
Primer 1
Ulaz
14 8
16 6
9 7
5 1
Izlaz
da
Primer 2
Ulaz
11 9
17 3
9 8
3 1
Izlaz
ne
3. SPISAK PROIZVODA
NAPOMENA: Zadatak sa 1. kruga kvalifikacija sezona 2022/23. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje
Ljilja je svaki dan škole kupovala za užinu jabuku, kiflu ili lizalicu. Ako je poznato kolika je cena svakog proizvoda i ako je poznat spisak proizvoda koje je ona kupila tokom nekoliko dana, odrediti koliko je ukupno novca potrošila.
Ulaz:
Sa standradnog ulaza se učitavaju cena jabuke, kifle i lizalice (tri prirodna broja između 10 i 100, svaki u posebnom redu). Nakon toga se učitava niska od najviše 30 karaktera j, k i l koja određuje redom proizvode koje je Ljilja kupila.
Izlaz:
Na standardni izlaz ispisati ukupnu količinu utrošenog novca.
Primer 1
Ulaz
32
30
45
jjkllkl
Izlaz
259
Primer 2
Ulaz
10
20
30
jkl
Izlaz
60
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje
Ljilja je svaki dan škole kupovala za užinu jabuku, kiflu ili lizalicu. Ako je poznato kolika je cena svakog proizvoda i ako je poznat spisak proizvoda koje je ona kupila tokom nekoliko dana, odrediti koliko je ukupno novca potrošila.
Ulaz:
Sa standradnog ulaza se učitavaju cena jabuke, kifle i lizalice (tri prirodna broja između 10 i 100, svaki u posebnom redu). Nakon toga se učitava niska od najviše 30 karaktera j, k i l koja određuje redom proizvode koje je Ljilja kupila.
Izlaz:
Na standardni izlaz ispisati ukupnu količinu utrošenog novca.
Primer 1
Ulaz
32
30
45
jjkllkl
Izlaz
259
Primer 2
Ulaz
10
20
30
jkl
Izlaz
60
4. MAJSTOR
NAPOMENA: Zadatak sa 1. kruga kvalifikacija sezona 2022/23. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje
Nakon izvođenja radova majstor Peri je vraćeno n kutija sa šrafovima. Kutije su korišćene i mogu sadržati različite brojeve šrafova. Majstor Pera hoće da koristi dve kutije sa najmanjim brojem šrafova. Pomozite majstor Peri da izračuna koliko ukupno šrafova ima u tako izabrane dve kutije.
Ulaz:
U prvoj liniji standardnog ulaza unosi se ukupan broj kutija n (2 ≤ n ≤ 30). Zatim se u narednih n
linija unose brojevi šrafova u kutijama ki (1 ≤ ki ≤ 100), redom.
Izlaz:
Na standardni izlaz ispisati ceo broj koji predstavlja zbir šrafova u dve kutije sa najmanje šrafova.
Primer 1
Ulaz
5
45
32
9
15
67
Izlaz
24
Primer 2
Ulaz
7
764
455
721
231
138
97
333
Izlaz
235
Primer 3
Ulaz
5
28
14
30
15
14
Izlaz
28
Ulaz:
U prvoj liniji standardnog ulaza unosi se ukupan broj kutija n (2 ≤ n ≤ 30). Zatim se u narednih n
linija unose brojevi šrafova u kutijama ki (1 ≤ ki ≤ 100), redom.
Izlaz:
Na standardni izlaz ispisati ceo broj koji predstavlja zbir šrafova u dve kutije sa najmanje šrafova.
Primer 1
Ulaz
5
45
32
9
15
67
Izlaz
24
Primer 2
Ulaz
7
764
455
721
231
138
97
333
Izlaz
235
Primer 3
Ulaz
5
28
14
30
15
14
Izlaz
28
UPUTSTVO:
Zadatak se može rešiti primenom petlji i grananja u programu, ali i na drugi način primenom vektora:
Za drugi način rešavanja je potrebno znati i sledeće oblasti: Dinamički niz-vector
Zadatak se može rešiti primenom petlji i grananja u programu, ali i na drugi način primenom vektora:
Za drugi način rešavanja je potrebno znati i sledeće oblasti: Dinamički niz-vector
5. ZRAK
NAPOMENA: Zadatak sa 1. kruga kvalifikacija sezona 2022/23. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , Ugnježdene petlje u C/C++
Opciono: Dinamički niz-vector
Poznato je da radio-talasima smetaju prepreke koje im se nađu na putu. Potrebno je istražiti da li radiotalasi mogu da prođu kroz pravougaonu oblast u kojoj je zasađeno drveće. Radio-talas se ispušta iz gornjeg levog ugla te oblasti i to u pravcu koji je određen vertikalnim i horizontalnim pomerajem (to su brojevi koji određuju razliku između koordinata narednog i tekućeg polja koje je zrak dostigao). Na primer, ako su pomeraji redom 2 i 1, to znači da se zrak u svakom koraku pomeri dve vrste naniže i jednu kolonu nadesno, pa redom prelazi polja čije su koordinate (v, k) jednake (0, 0), (2, 1), (4, 2) itd. Napiši program koji određuje koliko stabala će se naći na putu radio-talasa.
Ulaz:
Prva linija standardnog ulaza sadrži dimenzije matrice bv i bk (3 ≤ bv, bk ≤ 100), razdvojene razmakom. Nakon toga se nalazi opis matrice, pri čemu su polja koja sadrže stabla označena sa 1, a polja koja ne sadrže stabla sa 0. Na kraju se nalazi linija u kojoj su dati pomeraji (prirodni brojevi razdvojeni razmakom).
Izlaz:
Na standardni izlaz ispisati broj stabala koje radio signal poseti.
Primer 1
Ulaz
8 8
0 1 1 0 0 1 0 1
0 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0
1 1 0 1 0 1 0 1
0 1 1 0 1 1 1 0
0 0 0 0 0 1 0 1
1 0 1 1 0 1 1 0
0 1 1 0 1 1 1 0
2 1
Izlaz
2
Objašnjenje
Na slici su prikazana polja preko kojih će prelaziti zrak. Simbolom X su označena polja na kojima postoje stabla, a simbolom - polja na kojima ne postoje stabla.
- 1 1 0 0 1 0 1
0 0 1 0 1 0 1 0
1 - 1 0 1 0 1 0
1 1 0 1 0 1 0 1
0 1 X 0 1 1 1 0
0 0 0 0 0 1 0 1
1 0 1 X 0 1 1 0
0 1 1 0 1 1 1 0
Primer 2
Ulaz
8 8
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
1 2
Izlaz
2
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , Ugnježdene petlje u C/C++
Opciono: Dinamički niz-vector
Poznato je da radio-talasima smetaju prepreke koje im se nađu na putu. Potrebno je istražiti da li radiotalasi mogu da prođu kroz pravougaonu oblast u kojoj je zasađeno drveće. Radio-talas se ispušta iz gornjeg levog ugla te oblasti i to u pravcu koji je određen vertikalnim i horizontalnim pomerajem (to su brojevi koji određuju razliku između koordinata narednog i tekućeg polja koje je zrak dostigao). Na primer, ako su pomeraji redom 2 i 1, to znači da se zrak u svakom koraku pomeri dve vrste naniže i jednu kolonu nadesno, pa redom prelazi polja čije su koordinate (v, k) jednake (0, 0), (2, 1), (4, 2) itd. Napiši program koji određuje koliko stabala će se naći na putu radio-talasa.
Ulaz:
Prva linija standardnog ulaza sadrži dimenzije matrice bv i bk (3 ≤ bv, bk ≤ 100), razdvojene razmakom. Nakon toga se nalazi opis matrice, pri čemu su polja koja sadrže stabla označena sa 1, a polja koja ne sadrže stabla sa 0. Na kraju se nalazi linija u kojoj su dati pomeraji (prirodni brojevi razdvojeni razmakom).
Izlaz:
Na standardni izlaz ispisati broj stabala koje radio signal poseti.
Primer 1
Ulaz
8 8
0 1 1 0 0 1 0 1
0 0 1 0 1 0 1 0
1 0 1 0 1 0 1 0
1 1 0 1 0 1 0 1
0 1 1 0 1 1 1 0
0 0 0 0 0 1 0 1
1 0 1 1 0 1 1 0
0 1 1 0 1 1 1 0
2 1
Izlaz
2
Objašnjenje
Na slici su prikazana polja preko kojih će prelaziti zrak. Simbolom X su označena polja na kojima postoje stabla, a simbolom - polja na kojima ne postoje stabla.
- 1 1 0 0 1 0 1
0 0 1 0 1 0 1 0
1 - 1 0 1 0 1 0
1 1 0 1 0 1 0 1
0 1 X 0 1 1 1 0
0 0 0 0 0 1 0 1
1 0 1 X 0 1 1 0
0 1 1 0 1 1 1 0
Primer 2
Ulaz
8 8
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
0 1 0 1 0 1 0 1
1 2
Izlaz
2
UPUTSTVO:
Za učitavanje matrice koristiti ugnježdene petlje. Poćeti od pozicije (0,0). Koristeći petlju, uz proveru uslova da ste unutar matrice, premeštati se za unete vrednosti pomeraja po redu i koloni, na nove pozicije. Ako je na tim pozicijama vrednost u matrici jednaka 1, povećati brojač(celobrojnu promenljivu koja predstvlja traženi broj) za 1. Po izlasku iz petlje, dobijeni broj je zapravo broj polja na kojima se nalazi stablo. |
6. BROJ DANA ODMERENOG TRENINGA
NAPOMENA: Zadatak sa 1. kruga kvalifikacija sezona 2022/23. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje
Prilikom pripreme za predstojeća takmičenja, sportista svakog dana meri rezultat koji je postigao. Pošto želi da ravnomerno podiže formu, želi da svaki dan rezultat bude sve bolji (veći broj predstavlja bolji rezultat). Za neki dan treninga ćemo reći da je dobar, ako je rezultat postignut tog dana strogo bolji nego prethodnog, a strogo lošiji nego narednog (da bi bio dobar, za prvi dan je dovoljno da je strogo lošiji od narednog, a za poslednji dan da je strogo bolji od prethodnog).
Napiši program koji izračunava broj dobrih dana.
Ulaz:
Sa standardnog ulaza se učitava broj dana n(3 ≤ n ≤ 100) tokom kojih je sportista trenirao, a u
drugom redu rezultati koje je sportista postizao tokom svakog od tih n dana.
Izlaz:
Na standardni izlaz ispisati broj dobrih dana.
Primer 1
Ulaz
6
100 120 130 110 140 150
Izlaz
4
Primer 2
Ulaz
6
10 20 30 40 50 60
Izlaz
6
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje
Prilikom pripreme za predstojeća takmičenja, sportista svakog dana meri rezultat koji je postigao. Pošto želi da ravnomerno podiže formu, želi da svaki dan rezultat bude sve bolji (veći broj predstavlja bolji rezultat). Za neki dan treninga ćemo reći da je dobar, ako je rezultat postignut tog dana strogo bolji nego prethodnog, a strogo lošiji nego narednog (da bi bio dobar, za prvi dan je dovoljno da je strogo lošiji od narednog, a za poslednji dan da je strogo bolji od prethodnog).
Napiši program koji izračunava broj dobrih dana.
Ulaz:
Sa standardnog ulaza se učitava broj dana n(3 ≤ n ≤ 100) tokom kojih je sportista trenirao, a u
drugom redu rezultati koje je sportista postizao tokom svakog od tih n dana.
Izlaz:
Na standardni izlaz ispisati broj dobrih dana.
Primer 1
Ulaz
6
100 120 130 110 140 150
Izlaz
4
Primer 2
Ulaz
6
10 20 30 40 50 60
Izlaz
6
7. KUVAR
NAPOMENA: -Zadatak sa 1. kruga kvalifikacija, sezona 2022/2023. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++
Kuvaru je za jednu porciju potrebno za glavno jelo (pored ostalih sastojaka) m grama mesa, a za salatu ili k grama kupusa ili c grama cvekle. Na raspolaganju je grama mesa, grama kupusa i C grama cvekle (a svih ostalih sastojaka ima mnogo više). Napisati program koji učitava potrebne količine za jednu porciju m, k, c, a zatim i raspoložive količine MKC, a ispisuje za koliko celih porcija (glavno jelo i salata) kuvar ima dovoljno sastojaka.
Ulaz:
Na standardnom ulazu su redom brojevi m, k, c, M, K, C, svaki u posebnom redu. Svi brojevi su celi,
pozitivni i manji od 50000.
Izlaz:
Na standarni izlaz ispisati samo jedan ceo neoznačen broj, a to je broj celih porcija koje mogu da
se pripreme.
Primer 1
Ulaz
200
250
150
2200
1400
890
Izlaz
10
Primer 2
Ulaz
150
200
100
6100
5100
1000
Izlaz
35
Potrebno predznanje: Podaci u c++, Operatori u C++
Kuvaru je za jednu porciju potrebno za glavno jelo (pored ostalih sastojaka) m grama mesa, a za salatu ili k grama kupusa ili c grama cvekle. Na raspolaganju je grama mesa, grama kupusa i C grama cvekle (a svih ostalih sastojaka ima mnogo više). Napisati program koji učitava potrebne količine za jednu porciju m, k, c, a zatim i raspoložive količine MKC, a ispisuje za koliko celih porcija (glavno jelo i salata) kuvar ima dovoljno sastojaka.
Ulaz:
Na standardnom ulazu su redom brojevi m, k, c, M, K, C, svaki u posebnom redu. Svi brojevi su celi,
pozitivni i manji od 50000.
Izlaz:
Na standarni izlaz ispisati samo jedan ceo neoznačen broj, a to je broj celih porcija koje mogu da
se pripreme.
Primer 1
Ulaz
200
250
150
2200
1400
890
Izlaz
10
Primer 2
Ulaz
150
200
100
6100
5100
1000
Izlaz
35
8. STUBIĆI OD KOCKICA
NAPOMENA: Zadatak sa 1. kruga kvalifikacija sezona 2022/23. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu
Dva druga se igraju kockicama. Od prethodne igre su im ostala dva stuba čije su visine A i B. Sada, za novu građevinu oni imaju dve ideje. Po jednoj ideji potrebni su im stubovi visina A1 i B1, a po drugoj stubovi visina A2 i B2. Da bi promenio visinu nekog stuba za 1, jednome od drugara treba Tx vremena, a drugom Ty vremena. Za koliko najmanje vremena drugari mogu da preprave (produže ili skrate) postojeće stubove i naprave od njih stubove koji se uklapaju u jednu od ideja, ako svaki od njih prepravlja po jedan stub? Vreme
se meri od trenutka kada drugari istovremeno počnu sa prepravkama, do trenutka kada su obojica završila.
Ulaz:
U četiri reda standardnog ulaza su po dva priridna broja razdvojena razmakom. U prvom redu su A i B, u drugom A1 i B1, u trećem A2 i B2, svi iz intervala [1, 1000000], a u četvrtom Tx i Ty, iz intervala [1, 100].
Izlaz: Na standardni izlaz ispisati jedan prirodan broj, traženo najmanje vreme.
Primer 1
Ulaz
10 20
18 28
21 31
1 10
Izlaz
20
Primer 2
Ulaz
7 4
9 13
14 12
3 2
Izlaz
15
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu
Dva druga se igraju kockicama. Od prethodne igre su im ostala dva stuba čije su visine A i B. Sada, za novu građevinu oni imaju dve ideje. Po jednoj ideji potrebni su im stubovi visina A1 i B1, a po drugoj stubovi visina A2 i B2. Da bi promenio visinu nekog stuba za 1, jednome od drugara treba Tx vremena, a drugom Ty vremena. Za koliko najmanje vremena drugari mogu da preprave (produže ili skrate) postojeće stubove i naprave od njih stubove koji se uklapaju u jednu od ideja, ako svaki od njih prepravlja po jedan stub? Vreme
se meri od trenutka kada drugari istovremeno počnu sa prepravkama, do trenutka kada su obojica završila.
Ulaz:
U četiri reda standardnog ulaza su po dva priridna broja razdvojena razmakom. U prvom redu su A i B, u drugom A1 i B1, u trećem A2 i B2, svi iz intervala [1, 1000000], a u četvrtom Tx i Ty, iz intervala [1, 100].
Izlaz: Na standardni izlaz ispisati jedan prirodan broj, traženo najmanje vreme.
Primer 1
Ulaz
10 20
18 28
21 31
1 10
Izlaz
20
Primer 2
Ulaz
7 4
9 13
14 12
3 2
Izlaz
15
9. SLOVARICA
NAPOMENA: Zadatak sa 1. kruga kvalifikacija sezona 2022/23. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , Stringovi u C/C++ jeziku
Ana uči da sastavlja reči od slova. Danas želi da od slova koja ima na raspolaganju sastavi što više primeraka reči koju je smislila. Napisati program koji određuje koliko puta data reč može da se sastavi od slova date kolekcije.
Ulaz:
U prvom redu standardnog ulaza nalazi se niska karaktera koja predstavlja kolekciju, a u drugom niska koja predstavlja reč. Obe niske se sastoje isključivo od malih slova engleske abecede i dužina im jevdo 50000 karaktera.
Izlaz:
Na standardni izlaz ispisati jedan ceo broj, broj mogućih sastavljanja date reči.
Primer 1
Ulaz
matematikaiprogramiranje
meta
Izlaz
2
Primer 2
Ulaz
nekavelikakolekcijaslova
kea
Izlaz
3
Primer 3
Ulaz
babanedanijevisesedapajenekogleda
deda
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , Stringovi u C/C++ jeziku
Ana uči da sastavlja reči od slova. Danas želi da od slova koja ima na raspolaganju sastavi što više primeraka reči koju je smislila. Napisati program koji određuje koliko puta data reč može da se sastavi od slova date kolekcije.
Ulaz:
U prvom redu standardnog ulaza nalazi se niska karaktera koja predstavlja kolekciju, a u drugom niska koja predstavlja reč. Obe niske se sastoje isključivo od malih slova engleske abecede i dužina im jevdo 50000 karaktera.
Izlaz:
Na standardni izlaz ispisati jedan ceo broj, broj mogućih sastavljanja date reči.
Primer 1
Ulaz
matematikaiprogramiranje
meta
Izlaz
2
Primer 2
Ulaz
nekavelikakolekcijaslova
kea
Izlaz
3
Primer 3
Ulaz
babanedanijevisesedapajenekogleda
deda
10. PAS ĆUKI
NAPOMENA: Zadatak sa 1. kruga kvalifikacija sezona 2022/23. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , Stringovi u C/C++ jeziku
Opciono: Dinamički niz-vector
Pas Ćuki je najpametniji pas na svetu. Pored toga što ume da napravi razne akrobatske trikove, on je i izvrstan programer, pa je izmislio novi programski jezik koji je nazvao Ć++.
Svaka linija programskog koda u jeziku Ć++ se sastoji od tačno m celih brojeva razdvojenih razmacima. Pošto je Ć++ veoma napredan jezik, potrebno ga je prevesti tako da bude razumljiv današnjim računarima. U procesu prevođenja je u jednom trenutku potrebno da se svaka linija koda transformiše tako da sadrži m istih celih brojeva. Linija se transformiše tako što se svaki broj povećava ili smanjuje za 1 dok se ne dođe do željenog broja, a cena transformacije jednog broja u drugi je broj povećavanja/smanjivanja.
Recimo da želimo da transformišemo liniju “1 4 9” u “3 3 3”.
• Broj 1 treba da povećamo 2 puta da bismo dobili broj 3, pa je cena te transformacije 2.
• Broj 4 treba da smanjimo jednom, pa je cena transformacije 1.
• Broj 9 treba da smanjimo 6 puta da bismo dobili željeni broj 3, pa je cena transformacije tog broja
Ukupna cena transformacije linije je 2 + 1 + 6 = 9.
Kako bi se uštedeli resursi pri prevođenju, potrebno je transformisati kod tako da ukupna cena transformacije bude što manja. Za jednu učitanu liniju je potrebno odrediti u koji će se broj transformisati da bi cena transformacije bila najmanja moguća. U slučaju da je liniju moguće transformisati u više različitih brojeva tako da cena ostane ista, vrši se transformacija u najveći takav broj.
Ulaz:
U prvom redu standardnog ulaza se nalazi prirodan broj m (1 ≤ m ≤ 105 ) koji označava koliko brojeva se nalazi u liniji koja se učitava. U narednom redu se nalazi niz od m celih brojeva (između -1000 i 1000) odvojenih razmacima koji predstavljaju jednu liniju u Ć++-u.
Dodatna ograničenja: * U test primerima vrednim 49 poena dodatno važi m ≤ 100.
Izlaz: U prvom redu standardnog izlaza ispisati jedan broj koji označava u koji broj će se transformisati brojevi u datoj liniji. U drugom redu standardnog izlaza ispisati najmanju cenu transformacije date linije programskog koda.
Primer 1
Ulaz
6
1 8 6 -4 0 7
Izlaz
6
24
Objašnjenje
Najmanja cena transformacije postiže se ako se svi brojevi transformišu u broj 6. Cena transformacije linije je: |1 − 6| + |8 − 6| + |6 − 6| + | − 4 − 6| + |0 − 6| + |7 − 6| = 24. Primetite da bi se ista cena dobila i ako bismo transformisali liniju u broj 1, ali je broj 6 veći, pa biramo njega.
Primer 2
Ulaz
7
-5 -4 -3 -2 -1 0 1
Izlaz
-2
12
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , Stringovi u C/C++ jeziku
Opciono: Dinamički niz-vector
Pas Ćuki je najpametniji pas na svetu. Pored toga što ume da napravi razne akrobatske trikove, on je i izvrstan programer, pa je izmislio novi programski jezik koji je nazvao Ć++.
Svaka linija programskog koda u jeziku Ć++ se sastoji od tačno m celih brojeva razdvojenih razmacima. Pošto je Ć++ veoma napredan jezik, potrebno ga je prevesti tako da bude razumljiv današnjim računarima. U procesu prevođenja je u jednom trenutku potrebno da se svaka linija koda transformiše tako da sadrži m istih celih brojeva. Linija se transformiše tako što se svaki broj povećava ili smanjuje za 1 dok se ne dođe do željenog broja, a cena transformacije jednog broja u drugi je broj povećavanja/smanjivanja.
Recimo da želimo da transformišemo liniju “1 4 9” u “3 3 3”.
• Broj 1 treba da povećamo 2 puta da bismo dobili broj 3, pa je cena te transformacije 2.
• Broj 4 treba da smanjimo jednom, pa je cena transformacije 1.
• Broj 9 treba da smanjimo 6 puta da bismo dobili željeni broj 3, pa je cena transformacije tog broja
Ukupna cena transformacije linije je 2 + 1 + 6 = 9.
Kako bi se uštedeli resursi pri prevođenju, potrebno je transformisati kod tako da ukupna cena transformacije bude što manja. Za jednu učitanu liniju je potrebno odrediti u koji će se broj transformisati da bi cena transformacije bila najmanja moguća. U slučaju da je liniju moguće transformisati u više različitih brojeva tako da cena ostane ista, vrši se transformacija u najveći takav broj.
Ulaz:
U prvom redu standardnog ulaza se nalazi prirodan broj m (1 ≤ m ≤ 105 ) koji označava koliko brojeva se nalazi u liniji koja se učitava. U narednom redu se nalazi niz od m celih brojeva (između -1000 i 1000) odvojenih razmacima koji predstavljaju jednu liniju u Ć++-u.
Dodatna ograničenja: * U test primerima vrednim 49 poena dodatno važi m ≤ 100.
Izlaz: U prvom redu standardnog izlaza ispisati jedan broj koji označava u koji broj će se transformisati brojevi u datoj liniji. U drugom redu standardnog izlaza ispisati najmanju cenu transformacije date linije programskog koda.
Primer 1
Ulaz
6
1 8 6 -4 0 7
Izlaz
6
24
Objašnjenje
Najmanja cena transformacije postiže se ako se svi brojevi transformišu u broj 6. Cena transformacije linije je: |1 − 6| + |8 − 6| + |6 − 6| + | − 4 − 6| + |0 − 6| + |7 − 6| = 24. Primetite da bi se ista cena dobila i ako bismo transformisali liniju u broj 1, ali je broj 6 veći, pa biramo njega.
Primer 2
Ulaz
7
-5 -4 -3 -2 -1 0 1
Izlaz
-2
12
11. DATUM SA NAJVEĆOM ZARADOM
NAPOMENA: Zadatak sa 1. kruga kvalifikacija sezona 2022/23. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , Stringovi u C/C++ jeziku
Opciono: Dinamički niz-vector, Rečnik podataka-mape u C++
TEKST ZADATKA: Poznati su svi fiskalni računi koje je izdala jedna knjižara. Sa svakog računa se može pročitati datum kada je taj račun izdat i iznos koji je naplaćen. Napiši program koji određuje najveći ukupan iznos koji je knjižara naplatila u jednom danu, tj. maksimalan dnevni pazar, kao i datum kada je taj iznos bio najveći (ako ima više takvih datuma, ispisati ih sve, uređene hronološki od prvog do poslednjeg datuma).
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , Stringovi u C/C++ jeziku
Opciono: Dinamički niz-vector, Rečnik podataka-mape u C++
TEKST ZADATKA: Poznati su svi fiskalni računi koje je izdala jedna knjižara. Sa svakog računa se može pročitati datum kada je taj račun izdat i iznos koji je naplaćen. Napiši program koji određuje najveći ukupan iznos koji je knjižara naplatila u jednom danu, tj. maksimalan dnevni pazar, kao i datum kada je taj iznos bio najveći (ako ima više takvih datuma, ispisati ih sve, uređene hronološki od prvog do poslednjeg datuma).
Ulaz
Sa standardnog ulaza se učitava broj izdatih računa n (1≤n≤105), a zatim podaci o svakom računu u obliku dd-mm-gggg iznos, gde je iznos realan broj zaokružen na dve decimale.
Izlaz
Na standardni izlaz ispisati maksimalni iznos (realan broj zaokružen na dve decimale), a zatim u narednim redovima datume kada je taj maksimalni iznos naplaćen. Ako ima više datuma, oni treba da budu ispisani redom od najstarijeg do najnovijeg.
Primer
Ulaz
5
03-07-2021 340.00
05-04-2021 285.50
03-07-2021 100.50
04-07-2021 270.00
05-04-2021 155.00
Izlaz
440.50
05-04-2021
03-07-2021
Sa standardnog ulaza se učitava broj izdatih računa n (1≤n≤105), a zatim podaci o svakom računu u obliku dd-mm-gggg iznos, gde je iznos realan broj zaokružen na dve decimale.
Izlaz
Na standardni izlaz ispisati maksimalni iznos (realan broj zaokružen na dve decimale), a zatim u narednim redovima datume kada je taj maksimalni iznos naplaćen. Ako ima više datuma, oni treba da budu ispisani redom od najstarijeg do najnovijeg.
Primer
Ulaz
5
03-07-2021 340.00
05-04-2021 285.50
03-07-2021 100.50
04-07-2021 270.00
05-04-2021 155.00
Izlaz
440.50
05-04-2021
03-07-2021
12. ZBIROVI NAKON PODELE
NAPOMENA: Zadatak sa 1. kruga kvalifikacija sezona 2022/23. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , Nizovi u jeziku C/C++
Opciono:Maksimalna suma podniza
Dat je niz celih brojeva dužine n. Niz je potrebno preseći na dva dela. Nakon sečenja određuje se koliko postoji parova brojeva takvih da je jedan broj iz levog, a drugi iz desnog dela i da je njihov zbir paran broj. Odrediti maksimalan broj takvih parova koji je moguće dobiti sečenjem niza.
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , Nizovi u jeziku C/C++
Opciono:Maksimalna suma podniza
Dat je niz celih brojeva dužine n. Niz je potrebno preseći na dva dela. Nakon sečenja određuje se koliko postoji parova brojeva takvih da je jedan broj iz levog, a drugi iz desnog dela i da je njihov zbir paran broj. Odrediti maksimalan broj takvih parova koji je moguće dobiti sečenjem niza.
Ulaz
Sa standardnog ulaza se unosi ceo broj n (2≤n≤50000). Zatim se u narednom redu unose elementi niza a i (0≤ai≤100) razdvojeni razmakom.
Izlaz
Na standardni izlaz ispisati jedan ceo broj koji predstavlja traženu vrednost.
Primer 1
Ulaz
8
1 7 3 4 6 5 8 0
Izlaz
7
Objašnjenje: Najveći broj parova dobija se podelom niza na delove 1 7 3 4 6 i 5 8 0. Parovi su(1,5), (7,5), (3,5), (4,8), (4,0), (6,8) i (6,0).
Primer 2
Ulaz
7
1 9 3 11 12 4 8
Izlaz
4
Sa standardnog ulaza se unosi ceo broj n (2≤n≤50000). Zatim se u narednom redu unose elementi niza a i (0≤ai≤100) razdvojeni razmakom.
Izlaz
Na standardni izlaz ispisati jedan ceo broj koji predstavlja traženu vrednost.
Primer 1
Ulaz
8
1 7 3 4 6 5 8 0
Izlaz
7
Objašnjenje: Najveći broj parova dobija se podelom niza na delove 1 7 3 4 6 i 5 8 0. Parovi su(1,5), (7,5), (3,5), (4,8), (4,0), (6,8) i (6,0).
Primer 2
Ulaz
7
1 9 3 11 12 4 8
Izlaz
4
13. MEŠALICA
NAPOMENA: Zadatak sa 3. kruga kvalifikacija sezona 2022/23. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , Nizovi u jeziku C/C++
Opciono: Algoritam brzog stepenovanja
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , Nizovi u jeziku C/C++
Opciono: Algoritam brzog stepenovanja
Na raspolaganju nam je mešalica koja može da meša redosled elemenata niza. Mešalica elemente uvek meša na isti način. Neka je dat niz koji se dobija mešanjem niza 0 1 2 ... n-1. Napiši program koji određuje niz koji se dobija mešanjem niza 0 1 2 ... n-1
m puta.
Ulaz
Sa standardnog ulaza se unose prirodni brojevi n (1≤ n ≤50000) i m (0≤ m ≤10 ^ 18) odvojeni razmakom. U narednom redu se unosi
n različitih brojeva između 0 i n−1 odvojenih razmakom, koji predstavljaju elemente niza 0 1 2 ... n-1 nakon jednog mešanja.
Izlaz
Na standardni izlaz ispisati
n različitih prirodnih brojeva između 0 i n−1 odvojenih razmakom koji predstavljaju elemente niza 0 1 2 ... n-1 nakon
m mešanja.
Primer 1
Ulaz
4 2
0 2 3 1
Izlaz
0 3 1 2
Objašnjenje: Početni niz je 0 1 2 3. Prvim mešanjem dobija se 0 2 3 1. Drugim mešanjem dobija se 0 3 1 2.
Primer 2
Ulaz
5 3
1 2 0 4 3
Izlaz
0 1 2 4 3
Objašnjenje: Početni niz je 0 1 2 3 4. Prvim mešanjem dobija se 1 2 0 4 3. Drugim mešanjem dobija se 2 0 1 3 4. Trećim mešanjem dobija se 0 1 2 4 3.
Primer 3
Ulaz
4 3
1 0 3 2
Izlaz
1 0 3 2
Objašnjenje: Početni niz je 0 1 2 3. Prvim mešanjem dobija se 1 0 3 2. Drugim mešanjem dobija se 0 1 2 3. Trećim mešanjem dobija se 1 0 3 2.
m puta.
Ulaz
Sa standardnog ulaza se unose prirodni brojevi n (1≤ n ≤50000) i m (0≤ m ≤10 ^ 18) odvojeni razmakom. U narednom redu se unosi
n različitih brojeva između 0 i n−1 odvojenih razmakom, koji predstavljaju elemente niza 0 1 2 ... n-1 nakon jednog mešanja.
Izlaz
Na standardni izlaz ispisati
n različitih prirodnih brojeva između 0 i n−1 odvojenih razmakom koji predstavljaju elemente niza 0 1 2 ... n-1 nakon
m mešanja.
Primer 1
Ulaz
4 2
0 2 3 1
Izlaz
0 3 1 2
Objašnjenje: Početni niz je 0 1 2 3. Prvim mešanjem dobija se 0 2 3 1. Drugim mešanjem dobija se 0 3 1 2.
Primer 2
Ulaz
5 3
1 2 0 4 3
Izlaz
0 1 2 4 3
Objašnjenje: Početni niz je 0 1 2 3 4. Prvim mešanjem dobija se 1 2 0 4 3. Drugim mešanjem dobija se 2 0 1 3 4. Trećim mešanjem dobija se 0 1 2 4 3.
Primer 3
Ulaz
4 3
1 0 3 2
Izlaz
1 0 3 2
Objašnjenje: Početni niz je 0 1 2 3. Prvim mešanjem dobija se 1 0 3 2. Drugim mešanjem dobija se 0 1 2 3. Trećim mešanjem dobija se 1 0 3 2.
REŠENJE:
Zadatak je moguće rešiti primenom algoritma "grube sile" koji radi za većinu ulaznih podataka, osim za veliki zadati broj potrebnih permutovanja početnog niza. Efikasnije rešenje će se dobiti, ako se permutuje šema transformacije i na kraju transformisana šema koristi za permutovanje početnog niza. To je u stvari, primena algoritma brzog stepenovanja: Radi boljeg razumevanja oba načina rešavanja pogledajte priloženi video, u kome se ne vidi rešenje kao kod. Za kompletno rešenje kliknite na dugme "Rešenje". |
|
14. KATANAC
NAPOMENA: Zadatak sa 2. kruga kvalifikacija sezona 2022/23. Zadatak za 7 razred. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje
Katanac za bicikl ima šifru koja se sastoji od četiri cifre. Svaka cifra se postavlja tako što se prsten na kom je ispisano svih deset cifara može vrteti u krug.
Napiši program koji za unetu ispravnu šifru i trenutno namešten kod na katancu određuje najmanji broj okretanja prstena potrebnih da bi se katanac otključao.
Ulaz
Sa standardnog ulaza se učitava četvorocifreni broj (može da počne i nulama) koji predtavlja ispravnu šifru, a zatim i četvorocifreni broj (može da počne i nulama) koji predstavlja početnu poziciju prstena na katancu.
Izlaz
Na standardni izlaz ispisati najmanji broj okreta prstenova.
Primer 1
Ulaz
1234
7249
Izlaz
10
Objašnjenje
Prsten na kome piše 7 možemo da okrenemo 4 puta unapred da bismo došli do cifre 1 (sa 7 na 8, sa 8 na 9, sa 9 na 0 i sa 0 na 1).
Prsten na kome piše 2 ne moramo da okrećemo.
Prsten na kome piše 4 možemo da okrenemo jednom unazad da bismo došli do cifre 3.
Prsten na kome piše 9 možemo da okrenemo 5 puta (bilo unapred, bilo unazad) da bismo došli do cifre 4.
Primer 2
Ulaz
4812
0319
Izlaz
12
Napiši program koji za unetu ispravnu šifru i trenutno namešten kod na katancu određuje najmanji broj okretanja prstena potrebnih da bi se katanac otključao.
Ulaz
Sa standardnog ulaza se učitava četvorocifreni broj (može da počne i nulama) koji predtavlja ispravnu šifru, a zatim i četvorocifreni broj (može da počne i nulama) koji predstavlja početnu poziciju prstena na katancu.
Izlaz
Na standardni izlaz ispisati najmanji broj okreta prstenova.
Primer 1
Ulaz
1234
7249
Izlaz
10
Objašnjenje
Prsten na kome piše 7 možemo da okrenemo 4 puta unapred da bismo došli do cifre 1 (sa 7 na 8, sa 8 na 9, sa 9 na 0 i sa 0 na 1).
Prsten na kome piše 2 ne moramo da okrećemo.
Prsten na kome piše 4 možemo da okrenemo jednom unazad da bismo došli do cifre 3.
Prsten na kome piše 9 možemo da okrenemo 5 puta (bilo unapred, bilo unazad) da bismo došli do cifre 4.
Primer 2
Ulaz
4812
0319
Izlaz
12
15. TAČAN IZRAZ
16. STUBIĆI OD KOCKICA
NAPOMENA: Zadatak sa 1. kruga kvalifikacija sezona 2022/23. Zadatak za 8 razred. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Ugrađene funkcije min,max,abs
Dva druga se igraju kockicama. Od prethodne igre su im ostala dva stuba čije su visine A i B. Sada, za novu građevinu oni imaju dve ideje. Po jednoj ideji potrebni su im stubovi visina A1 i B1, a po drugoj stubovi visina A2 i B2. Da bi promenio visinu nekog stuba za 1, jednome od drugara treba Tx vremena, a drugom Ty vremena. Za koliko najmanje vremena drugari mogu da preprave (produže ili skrate) postojeće stubove i naprave od njih stubove koji se uklapaju u jednu od ideja, ako svaki od njih prepravlja po jedan stub? Vreme se meri od trenutka kada drugari istovremeno počnu sa prepravkama, do trenutka kada su obojica završila.
Ulaz:
U četiri reda standardnog ulaza su po dva priridna broja razdvojena razmakom. U prvom redu su A i B, u drugom A1 i B1, u trećem A2 i B2, svi iz intervala [1, 1000000], a u četvrtom Tx i Ty, iz intervala [1, 100].
Izlaz:
Na standardni izlaz ispisati jedan prirodan broj, traženo najmanje vreme.
Primer 1
Ulaz
10 20
18 28
21 31
1 10
Izlaz
20
Primer 2
Ulaz
7 4
9 13
14 12
3 2
Izlaz
15
Potrebno predznanje: Podaci u c++, Operatori u C++, Ugrađene funkcije min,max,abs
Dva druga se igraju kockicama. Od prethodne igre su im ostala dva stuba čije su visine A i B. Sada, za novu građevinu oni imaju dve ideje. Po jednoj ideji potrebni su im stubovi visina A1 i B1, a po drugoj stubovi visina A2 i B2. Da bi promenio visinu nekog stuba za 1, jednome od drugara treba Tx vremena, a drugom Ty vremena. Za koliko najmanje vremena drugari mogu da preprave (produže ili skrate) postojeće stubove i naprave od njih stubove koji se uklapaju u jednu od ideja, ako svaki od njih prepravlja po jedan stub? Vreme se meri od trenutka kada drugari istovremeno počnu sa prepravkama, do trenutka kada su obojica završila.
Ulaz:
U četiri reda standardnog ulaza su po dva priridna broja razdvojena razmakom. U prvom redu su A i B, u drugom A1 i B1, u trećem A2 i B2, svi iz intervala [1, 1000000], a u četvrtom Tx i Ty, iz intervala [1, 100].
Izlaz:
Na standardni izlaz ispisati jedan prirodan broj, traženo najmanje vreme.
Primer 1
Ulaz
10 20
18 28
21 31
1 10
Izlaz
20
Primer 2
Ulaz
7 4
9 13
14 12
3 2
Izlaz
15
17. ŠLJIVE
NAPOMENA: Zadatak sa 2. kruga kvalifikacija sezona 2022/23. Zadatak za 6 razred. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu
Janko i Nataša su jeli šljive. Iz činije su uzimali istovremeno, Janko po dve, a Nataša po tri šljive, sve dok je to bilo moguće, tj. dok nije ostalo manje od pet šljiva. Preostale šljive (ako ih je bilo) pojeo je kasnije Marko. Napisati prorgam koji učitava broj šljiva na početku, a ispisuje koliko je ko pojeo, kao i broj onih koji su pojeli bar jednu šljivu.
Ulaz
Na standardnom ulazu se nalazi jedan ceo neoznačen broj manji od 51, broj šljiva na početku.
Izlaz
Na standardni izlaz u četiri reda ispisati po jedan ceo broj. Prva tri broja treba da budu brojevi šljiva koje su pojeli Janko, Nataša i Marko, tim redom. Četvrti broj treba da bude broj onih koji su pojeli bar jednu šljivu.
Primer 1
Ulaz
14
Izlaz
4
6
4
3
Primer 2
Ulaz
3
Izlaz
0
0
3
1
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu
Janko i Nataša su jeli šljive. Iz činije su uzimali istovremeno, Janko po dve, a Nataša po tri šljive, sve dok je to bilo moguće, tj. dok nije ostalo manje od pet šljiva. Preostale šljive (ako ih je bilo) pojeo je kasnije Marko. Napisati prorgam koji učitava broj šljiva na početku, a ispisuje koliko je ko pojeo, kao i broj onih koji su pojeli bar jednu šljivu.
Ulaz
Na standardnom ulazu se nalazi jedan ceo neoznačen broj manji od 51, broj šljiva na početku.
Izlaz
Na standardni izlaz u četiri reda ispisati po jedan ceo broj. Prva tri broja treba da budu brojevi šljiva koje su pojeli Janko, Nataša i Marko, tim redom. Četvrti broj treba da bude broj onih koji su pojeli bar jednu šljivu.
Primer 1
Ulaz
14
Izlaz
4
6
4
3
Primer 2
Ulaz
3
Izlaz
0
0
3
1
18. FLAŠE
NAPOMENA: Zadatak sa 2. kruga kvalifikacija sezona 2022/23. Zadatak za 6 razred. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Petlje
Ranko pretače razne vrste tečnosti iz n punih kanistera različitih zapremina u flaše zapremine V litara. Za svaki kanister odrediti koliko flaša će biti potpuno napunjeno tečnošću iz tog kanistera, kao i koliko tečnosti će ostati u kanisteru kada se te flaše popune. Tečnosti se ne smeju međusobno mešati.
Ulaz
U prvom redu standardnog ulaza nalaze se 2 cela broja n (broj kanistera) i v (zapremina vlaša u litrima). U narednih n redova se nalazi po jedan ceo broj. Svaki taj broj predstavlja zapreminu jednog kanistera u litrima. Svi brojevi su celi i između 1 i 10000.
Izlaz
U n redova ispisati po 2 cela broja. Prvi broj predstavlja broj flaša koje će biti potpuno napunjene od strane kanistera, a drugi broj koliko litara tečnosti će ostati u kanisteru nakon popunjavanja flaša.
Primer
Ulaz
7 6
24
13
6
10
17
23
40
Izlaz
4 0
2 1
1 0
1 4
2 5
3 5
6 4
Objašnjenje
Prvi kanister ima zapreminu 24 litra Pošto je zapremina flaše 6 litara, mogu se napuniti 4 flaše i 0 litara ostaje u kanisteru. Drugi kanister ima zapreminu 13 litara, dakle mogu se napuniti 2 flaše, a 1 litar ostaje u kanisteru. Slično i za ostale kanistere.
Potrebno predznanje: Podaci u c++, Operatori u C++, Petlje
Ranko pretače razne vrste tečnosti iz n punih kanistera različitih zapremina u flaše zapremine V litara. Za svaki kanister odrediti koliko flaša će biti potpuno napunjeno tečnošću iz tog kanistera, kao i koliko tečnosti će ostati u kanisteru kada se te flaše popune. Tečnosti se ne smeju međusobno mešati.
Ulaz
U prvom redu standardnog ulaza nalaze se 2 cela broja n (broj kanistera) i v (zapremina vlaša u litrima). U narednih n redova se nalazi po jedan ceo broj. Svaki taj broj predstavlja zapreminu jednog kanistera u litrima. Svi brojevi su celi i između 1 i 10000.
Izlaz
U n redova ispisati po 2 cela broja. Prvi broj predstavlja broj flaša koje će biti potpuno napunjene od strane kanistera, a drugi broj koliko litara tečnosti će ostati u kanisteru nakon popunjavanja flaša.
Primer
Ulaz
7 6
24
13
6
10
17
23
40
Izlaz
4 0
2 1
1 0
1 4
2 5
3 5
6 4
Objašnjenje
Prvi kanister ima zapreminu 24 litra Pošto je zapremina flaše 6 litara, mogu se napuniti 4 flaše i 0 litara ostaje u kanisteru. Drugi kanister ima zapreminu 13 litara, dakle mogu se napuniti 2 flaše, a 1 litar ostaje u kanisteru. Slično i za ostale kanistere.
19. FUDBALSKA GRUPA - TABELA
NAPOMENA: Zadatak sa 2. kruga kvalifikacija sezona 2022/23. Zadatak za 6 razred. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Skraćena if-else naredba
Na svetskom prvenstvu u fudbalu svaka grupa se sastoji od 4 ekipe koje igraju svaka sa svakom. U narednu fazu takmičenja plasiraju se dve najbolje plasirane ekipe. Za svaku pobedu dobijaju se 3 poena, a za nerešen rezultat 1 poen. Napiši program koji na osnovu rezultata 6 utakmica određuje broj poena svake ekipe i gol razliku (razliku između broja datih i broja primljenih golova).
Ulaz
Sa standardnog ulaza se unose rezultati svih mečeva i to redom AB, CD, AC, BD, AD, BC. Svaki rezultat se unosi u obliku dva broja razdvojena razmakom.
Izlaz
Na standardni izlaz ispisati broj poena i gol razliku redom za ekipe A, B, C i D.
Primer 1
Ulaz
3 2
2 1
4 2
1 3
3 0
1 0
Izlaz
9 6
3 -2
3 -2
3 -2
Primer 2
Ulaz
0 0
2 0
6 2
1 1
3 0
1 0
Izlaz
7 7
5 1
3 -3
1 -5
Potrebno predznanje: Podaci u c++, Operatori u C++, Skraćena if-else naredba
Na svetskom prvenstvu u fudbalu svaka grupa se sastoji od 4 ekipe koje igraju svaka sa svakom. U narednu fazu takmičenja plasiraju se dve najbolje plasirane ekipe. Za svaku pobedu dobijaju se 3 poena, a za nerešen rezultat 1 poen. Napiši program koji na osnovu rezultata 6 utakmica određuje broj poena svake ekipe i gol razliku (razliku između broja datih i broja primljenih golova).
Ulaz
Sa standardnog ulaza se unose rezultati svih mečeva i to redom AB, CD, AC, BD, AD, BC. Svaki rezultat se unosi u obliku dva broja razdvojena razmakom.
Izlaz
Na standardni izlaz ispisati broj poena i gol razliku redom za ekipe A, B, C i D.
Primer 1
Ulaz
3 2
2 1
4 2
1 3
3 0
1 0
Izlaz
9 6
3 -2
3 -2
3 -2
Primer 2
Ulaz
0 0
2 0
6 2
1 1
3 0
1 0
Izlaz
7 7
5 1
3 -3
1 -5
20. NAJVIŠE ODLIČNIH
NAPOMENA: Zadatak sa 2. kruga kvalifikacija sezona 2022/23. Zadatak za 6 razred. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Nizovi, određivanje maksimuma, kad je element isti kao pozicija
Napisati program koji za dati razred i uspeh svakog od n učenika ispisuje razred u kome ima najviše odličnih učenika.
Ulaz
U prvom redu standardnog ulaza je ceo broj n(1≤n≤100). U svakom od narednih n redova nalazi se jedan prirodan i jedan realan broj razdvojeni razmakom. Prirodan broj je iz intervala[1,8] i predstavlja razred, a realan broj je iz intervala [1.0,5.0] i predstavlja uspeh. Broj jednak ili veći od 4.5 predstavlja odličan uspeh.
Izlaz
Na standardni izlaz ispisati jedan ceo broj, broj razreda sa najviše odličnih učenika. Ukoliko odgovr nije jednoznačan, ispisati broj najvećeg razreda sa najviše odličnih učenika.
Primer
Ulaz
6
4 3.58
4 4.67
5 4.83
6 4.5
4 4.93
6 5.0
Izlaz
6
Potrebno predznanje: Podaci u c++, Operatori u C++, Nizovi, određivanje maksimuma, kad je element isti kao pozicija
Napisati program koji za dati razred i uspeh svakog od n učenika ispisuje razred u kome ima najviše odličnih učenika.
Ulaz
U prvom redu standardnog ulaza je ceo broj n(1≤n≤100). U svakom od narednih n redova nalazi se jedan prirodan i jedan realan broj razdvojeni razmakom. Prirodan broj je iz intervala[1,8] i predstavlja razred, a realan broj je iz intervala [1.0,5.0] i predstavlja uspeh. Broj jednak ili veći od 4.5 predstavlja odličan uspeh.
Izlaz
Na standardni izlaz ispisati jedan ceo broj, broj razreda sa najviše odličnih učenika. Ukoliko odgovr nije jednoznačan, ispisati broj najvećeg razreda sa najviše odličnih učenika.
Primer
Ulaz
6
4 3.58
4 4.67
5 4.83
6 4.5
4 4.93
6 5.0
Izlaz
6
21. DOLINE
Dat je niz nadmorskih visina nekog terena. Dolina je podniz jednakih uzastopnih visina takav da su visina pre i visina posle njega strogo veće od njega. Napiši program koji određuje koliko na datom terenu postoji dolina.
Ulaz
Sa standardnog ulaza se unosi broj delova terena n (1≤n≤150). U narednoj liniji se unosi n brojeva odvojenih razmakom koji predstavljaju nadmorske visine terena. Sve visine su celi brojevi iz intervala [0,100]
Izlaz
Na standardni izlaz ispisati jedan ceo broj koji predstavlja broj dolina.
Primer 1
Ulaz
8
5 3 3 7 4 4 4 8
Izlaz
2
Objašnjenje: Doline su 5 3 3 7 i 7 4 4 4 8.
Primer 2
Ulaz
5
4 3 1 2 4
Izlaz
1
Objašnjenje: Jedina dolina je 3 1 2.
Primer 3
Ulaz
11
2 2 3 4 4 2 2 2 5 4 5
Izlaz
2
Objašnjenje: Doline su 4 2 2 2 5 i 5 4 5.
Ulaz
Sa standardnog ulaza se unosi broj delova terena n (1≤n≤150). U narednoj liniji se unosi n brojeva odvojenih razmakom koji predstavljaju nadmorske visine terena. Sve visine su celi brojevi iz intervala [0,100]
Izlaz
Na standardni izlaz ispisati jedan ceo broj koji predstavlja broj dolina.
Primer 1
Ulaz
8
5 3 3 7 4 4 4 8
Izlaz
2
Objašnjenje: Doline su 5 3 3 7 i 7 4 4 4 8.
Primer 2
Ulaz
5
4 3 1 2 4
Izlaz
1
Objašnjenje: Jedina dolina je 3 1 2.
Primer 3
Ulaz
11
2 2 3 4 4 2 2 2 5 4 5
Izlaz
2
Objašnjenje: Doline su 4 2 2 2 5 i 5 4 5.
22. DOPUNA MEJLOVA
NAPOMENA: Zadatak sa 1. kruga kvalifikacija sezona 2022/23. Zadatak za 7. razred. Preuzeto sa dms.rs/informatika-osnovne-skole/
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , stringovi
Potrebno predznanje: Podaci u c++, Operatori u C++, Grananje u programu u C/C++, Petlje , stringovi
Aplikacije za slanje mejlova čuvaju ranije korišćene mejl adrese a onda pomažu korisnicima tako što na osnovu njih dopunjavaju započet unos nove mejl adrese (tzv. opcija automatskog dopunjavanja, engl. aucomplete).
Napiši program koji efikasno implementira ovu funkcionalnost.
Ulaz: Sa standardnog ulaza se učitava broj mejl adresa n (1 ≤ n ≤ 105), a zatim u n narednih redova po jedna mejl adresa. Nakon toga se unosi broj različitih upita (započetih mejl adresa) m (1 ≤ m ≤ 105), a nakon toga m upita.
Izlaz: Na stadardni izlaz za svaki upit ispisati broj mejl adresa koje počinju tim upitom
Primer
Ulaz
9
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
3
laz
milica@
a
Napiši program koji efikasno implementira ovu funkcionalnost.
Ulaz: Sa standardnog ulaza se učitava broj mejl adresa n (1 ≤ n ≤ 105), a zatim u n narednih redova po jedna mejl adresa. Nakon toga se unosi broj različitih upita (započetih mejl adresa) m (1 ≤ m ≤ 105), a nakon toga m upita.
Izlaz: Na stadardni izlaz za svaki upit ispisati broj mejl adresa koje počinju tim upitom
Primer
Ulaz
9
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
3
laz
milica@
a
HOROSKOP-Zadatak sa 2. kruga kvalifikacija:
Zadatak je sa 2. kruga kvalifikacija sezona 2019/20 preuzet sa dms.rs/informatika-osnovne-skole/
Postavka: Jedinstveni matični broj građana (skraćeno JMBG) je niz od 13 cifara, koji u našoj zemlji svako dobija još kao sasvim mali. Prve dve cifre ovog niza predstavljaju dan, a sledeće dve mesec rođenja. Na primer, ako nečiji JMBG počinje sa 0904, on je rođen devetog aprila, a ako počinje sa 3112 on je rođen trideset prvog decembra.
Perica voli da se zabavlja čitajući razne horoskope, a u jednom trenutku se zapitao koliko ima ljudi rođenih u svakom od horoskopskih znakova, za koje bi trebalo da važi ono što piše u horoskopu. Perica je nekako uspeo da dođe do poveće liste matičnih brojeva, a zna i početne i završne datume za svaki znak:
• OVAN – od 21. marta do 20. aprila
• BIK – od 21. aprila do 21. maja
• BLIZANCI – od 22. maja do 21. juna
• RAK – od 22. juna do 22. jula
• LAV – od 23. jula do 22. avgusta
• DEVICA – od 23. avgusta do 22. septembra
• VAGA – od 23. septembra do 23.oktobra
• ŠKORPIJA – od 24. oktobra do 22. novembra
• STRELAC – od 23. novembra do 21. decembra
• JARAC – od 22. decembra do 20. januara
• VODOLIJA – od 21. januara do 19. februara
• RIBE – od 20. februara do 20. marta
Perica sada želi da prebroji rođenja u svakom od horoskopskih znakova. Napišite program koji pomaže Perici u brojanju.
Ulaz: Na standardnom ulazu se u prvom redu nalazi broj N (1 ≤ N ≤ 200), broj matičnih brojeva koje je Perica nabavio. U svakom od N narednih redova je po jedan matični broj (13 cifara bez razmaka).
Izlaz: Na standardni izlaz ispisati 12 celih brojeva, svaki u posebnom redu. Prvi broj je broj osoba rođeni u znaku ovna, drugi - u znaku bika, itd. Poslednji, dvanaesti broj je broj osoba rođenih u znaku ribe.
Primer 1
Ulaz
5
1504279718463
0412622712918
1903326718649
0710262713307
0104646719372
Izlaz
2
0
0
0
0
0
1
0
1
0
0
1
Postavka: Jedinstveni matični broj građana (skraćeno JMBG) je niz od 13 cifara, koji u našoj zemlji svako dobija još kao sasvim mali. Prve dve cifre ovog niza predstavljaju dan, a sledeće dve mesec rođenja. Na primer, ako nečiji JMBG počinje sa 0904, on je rođen devetog aprila, a ako počinje sa 3112 on je rođen trideset prvog decembra.
Perica voli da se zabavlja čitajući razne horoskope, a u jednom trenutku se zapitao koliko ima ljudi rođenih u svakom od horoskopskih znakova, za koje bi trebalo da važi ono što piše u horoskopu. Perica je nekako uspeo da dođe do poveće liste matičnih brojeva, a zna i početne i završne datume za svaki znak:
• OVAN – od 21. marta do 20. aprila
• BIK – od 21. aprila do 21. maja
• BLIZANCI – od 22. maja do 21. juna
• RAK – od 22. juna do 22. jula
• LAV – od 23. jula do 22. avgusta
• DEVICA – od 23. avgusta do 22. septembra
• VAGA – od 23. septembra do 23.oktobra
• ŠKORPIJA – od 24. oktobra do 22. novembra
• STRELAC – od 23. novembra do 21. decembra
• JARAC – od 22. decembra do 20. januara
• VODOLIJA – od 21. januara do 19. februara
• RIBE – od 20. februara do 20. marta
Perica sada želi da prebroji rođenja u svakom od horoskopskih znakova. Napišite program koji pomaže Perici u brojanju.
Ulaz: Na standardnom ulazu se u prvom redu nalazi broj N (1 ≤ N ≤ 200), broj matičnih brojeva koje je Perica nabavio. U svakom od N narednih redova je po jedan matični broj (13 cifara bez razmaka).
Izlaz: Na standardni izlaz ispisati 12 celih brojeva, svaki u posebnom redu. Prvi broj je broj osoba rođeni u znaku ovna, drugi - u znaku bika, itd. Poslednji, dvanaesti broj je broj osoba rođenih u znaku ribe.
Primer 1
Ulaz
5
1504279718463
0412622712918
1903326718649
0710262713307
0104646719372
Izlaz
2
0
0
0
0
0
1
0
1
0
0
1
ARTIMOGRIF-Zadatak sa 2. kruga kvalifikacija:
Postavka: Pri rešavanju jedne poznate vrste aritmetičkih rebusa potrebno je ista slova zameniti istim ciframa, a različita slova različitim ciframa, tako da se dobije tačna jednakost. Na primer, za rebus SNEG + KRUG = SPORT jedno od rešenja je 1937 + 8627 == 10564. Možemo se uveriti da je navedena jednakost zaista tačna, ali to nije tema ovog zadatka. Ovde nas interesuje drugi uslov, a to je
da li je zamena slova ciframa pravilno izvedena. Na primer, ponuđeno “rešenje” 4832 + 5962 == 10794 nije ispravno (iako je, uzgred rečeno, jednakost tačna) zato što je slovo S na jednom mestu zamenjeno ciftom 4, a na drugom cifrom 1. Takođe, cifra 4 odgovara dvama različitim slovima (S i T).
Napisati program koji proverava da li je u ovom tipu rebusa zamena slova ciframa pravilno izvedena.
Ulaz: Sa standardnog ulaza se u prvom redu unosi string, koji predstavlja opisaniaritmetički rebus. String može da sadrži velika slova engleske abecede, razmake, znake matematičkih operacija i i znak jednakosti. Ukupna dužina stringa nije većav od 100 a broj različitih slova koja se pojavljuju u stringu nije veći od 10.
U drugom redu se unosi string koji predstavlja ponuđeno rešenje rebusa iz prvog reda.
Drugi string se od prvog razlikuje isključivo po tome što je svako slovo zamenjeno nekom cifrom.
Izlaz: Na standardni izlaz ispisati “da” ako je zamena pravilna (bez obzira na to da li je jednakost tačna), a “ne” ako zamena nije pravilna.
Primer 1
Ulaz
SNEG + KRUG = SPORT
2341 + 8751 = 20679
Izlaz
da
Primer 2
Ulaz
SNEG + KRUG = SPORT
4832 + 5962 = 10794
Izlaz
ne
da li je zamena slova ciframa pravilno izvedena. Na primer, ponuđeno “rešenje” 4832 + 5962 == 10794 nije ispravno (iako je, uzgred rečeno, jednakost tačna) zato što je slovo S na jednom mestu zamenjeno ciftom 4, a na drugom cifrom 1. Takođe, cifra 4 odgovara dvama različitim slovima (S i T).
Napisati program koji proverava da li je u ovom tipu rebusa zamena slova ciframa pravilno izvedena.
Ulaz: Sa standardnog ulaza se u prvom redu unosi string, koji predstavlja opisaniaritmetički rebus. String može da sadrži velika slova engleske abecede, razmake, znake matematičkih operacija i i znak jednakosti. Ukupna dužina stringa nije većav od 100 a broj različitih slova koja se pojavljuju u stringu nije veći od 10.
U drugom redu se unosi string koji predstavlja ponuđeno rešenje rebusa iz prvog reda.
Drugi string se od prvog razlikuje isključivo po tome što je svako slovo zamenjeno nekom cifrom.
Izlaz: Na standardni izlaz ispisati “da” ako je zamena pravilna (bez obzira na to da li je jednakost tačna), a “ne” ako zamena nije pravilna.
Primer 1
Ulaz
SNEG + KRUG = SPORT
2341 + 8751 = 20679
Izlaz
da
Primer 2
Ulaz
SNEG + KRUG = SPORT
4832 + 5962 = 10794
Izlaz
ne
DVE POLICE-Zadatak sa 2. kruga kvalifikacija:
Postavka: U prodavnici se prodaju dve vrste polica čije su cene i dužine poznate. Želimo da postavimo police duž jednog zida tako da popunimo što veći deo dužine zida. Pri tom, ako se ista dužina zida može popuniti na više načina, biramo jef-
tiniju varijantu.
Napiši program koji određuje najveću moguću dužinu dela zida koja se može popuniti policama i najmanju cenu po kojoj se to može uraditi.
Ulaz: U prvom redu standardnog ulaza se nalazi broj z (1 ≤ z ≤ 106) koji predstavlja
dužinu zida. U dva naredna reda se nalaze opisi polica: dužina (prirodan broj
između 1 i 106) i cena (prirodan broj između 1 i 1000).
Izlaz: Na standardni izlaz ispisati najveću moguću dužinu dela zida koji se može
popuniti policama i najmanju moguću cenu, razdvojene jednim razmakom.
Primer
Ulaz
24
3 10
5 8
Izlaz
24 54
tiniju varijantu.
Napiši program koji određuje najveću moguću dužinu dela zida koja se može popuniti policama i najmanju cenu po kojoj se to može uraditi.
Ulaz: U prvom redu standardnog ulaza se nalazi broj z (1 ≤ z ≤ 106) koji predstavlja
dužinu zida. U dva naredna reda se nalaze opisi polica: dužina (prirodan broj
između 1 i 106) i cena (prirodan broj između 1 i 1000).
Izlaz: Na standardni izlaz ispisati najveću moguću dužinu dela zida koji se može
popuniti policama i najmanju moguću cenu, razdvojene jednim razmakom.
Primer
Ulaz
24
3 10
5 8
Izlaz
24 54
NAJVEĆI BROJ OD DATIH CIFARA-Zadatak sa 3. kruga kvalifikacija:
Postavka: Za dati broj ispisati najveći broj koji se piše istim ciframa.
Ulaz: Sa standardnog ulaza se u prvom redu unosi broj N (1 ≤ N ≤ 1030).
Izlaz: Na standardni izlaz ispisati traženi broj.
Primer 1
Ulaz
90123
Izlaz
93210
Primer 2
Ulaz
777
Izlaz
777
Ulaz: Sa standardnog ulaza se u prvom redu unosi broj N (1 ≤ N ≤ 1030).
Izlaz: Na standardni izlaz ispisati traženi broj.
Primer 1
Ulaz
90123
Izlaz
93210
Primer 2
Ulaz
777
Izlaz
777
RIZIKO-Zadatak sa 3. kruga kvalifikacija:
Postavka: Tokom igre riziko napadački i odbrameni igrač ulaze u bitke bacajući kockice. Svaki od njih ima 3 kockice a na osnovu trenutnog stanja igre određuje se koliko od njih sme da baci. Kada se bace kockice, upoređuju se najjača kockica napadača (ona sa najvećim brojem) sa najačom kockicom odbrambenog igrača, zatim druga po jačini sa drugom po jačini i najmanja sa najmanjom. Ako je neki igrač bacio manje kockica, tada se najslabije kockice onog drugog igrača zanemaruju (onaj ko je bacao više kockica je u prednosti). Kada se dve kockice upoređuju, ako napadač ima strogo jaču kockicu (kocikcu na kojoj je broj strogo veći) odbrana gubi jedan poen, dok u suprotnom napad gubi jedan poen (time je odbrambeni igrač u blagoj prednosti).
Napiši program koji na osnovu rezultata bacanja kockica određuje broj poena koje
gube jedan i drugi igrač.
Ulaz: Prvi red standardnog ulaza sadrži broj bačenih kockica napadača (1, 2 ili 3),
a naredni red sadrži brojeve (od 1 do 6) na kockicama koje je napadač bacio. Naredni
red standardnog ulaza sadrži broj bačenih kockica odbrambenog igrača (1, 2 ili 3), a
naredni red sadrži brojeve (od 1 do 6) na kockicama koje je odbrambeni igrač bacio.
Izlaz: Na standardni izlaz ispisati broj poena koje gubi napadač i broj poena koje
gubi odbrambeni igrač, razdvojene jednim razmakom.
Primer 1
Ulaz
3
5 6 3
3
5 3 4
Napiši program koji na osnovu rezultata bacanja kockica određuje broj poena koje
gube jedan i drugi igrač.
Ulaz: Prvi red standardnog ulaza sadrži broj bačenih kockica napadača (1, 2 ili 3),
a naredni red sadrži brojeve (od 1 do 6) na kockicama koje je napadač bacio. Naredni
red standardnog ulaza sadrži broj bačenih kockica odbrambenog igrača (1, 2 ili 3), a
naredni red sadrži brojeve (od 1 do 6) na kockicama koje je odbrambeni igrač bacio.
Izlaz: Na standardni izlaz ispisati broj poena koje gubi napadač i broj poena koje
gubi odbrambeni igrač, razdvojene jednim razmakom.
Primer 1
Ulaz
3
5 6 3
3
5 3 4
ATP POBEDNIK-Zadatak sa 3. kruga kvalifikacija:
Postavka: Tokom godine igraju se mnogi teniski turniri na kojima teniseri osvajaju poene. Poeni se sabiraju i na kraju godine objavljuje se završna lista na kojoj su teniseri rangirani na osnovu ukupnog broja poena tokom te godine. Napiši program koji na osnovu rezultata svih turnira određuje najboljeg tenisera i njegove poene (pretpostaviti da će pobednik imati strogo veći broj poena od svih ostalih).
Ulaz: Sa standardnog ulaza se unosi broj n, a zatim u narednih n redova podaci o osvojenim poenima tenisera: prezime tenisera i zatim broj osvojenih poena.
Izlaz: Na standardni izlaz ispisati prezime i ukupan broj poena pobednika.
Primer 1
Ulaz
9
Djokovic 1000
Nadal 800
Federer 600
Nadal 1000
Federer 800
Djokovic 600
Djokovic 1000
Cicipas 800
Nadal 600
Izlaz
Djokovic 2600
Primer 2
Ulaz
6
Zverev 1000
Cicipas 800
Medvedev 700
Thiem 1000
Cicipas 800
Medvedev 600
Izlaz
Cicipas 1600
Ulaz: Sa standardnog ulaza se unosi broj n, a zatim u narednih n redova podaci o osvojenim poenima tenisera: prezime tenisera i zatim broj osvojenih poena.
Izlaz: Na standardni izlaz ispisati prezime i ukupan broj poena pobednika.
Primer 1
Ulaz
9
Djokovic 1000
Nadal 800
Federer 600
Nadal 1000
Federer 800
Djokovic 600
Djokovic 1000
Cicipas 800
Nadal 600
Izlaz
Djokovic 2600
Primer 2
Ulaz
6
Zverev 1000
Cicipas 800
Medvedev 700
Thiem 1000
Cicipas 800
Medvedev 600
Izlaz
Cicipas 1600
Sledeće
Priprema za državna takmičenja >| |