OKRUŽNA TAKMIČENJE IZ INFORMATIKE - ZADACI
Takođe, možete prethodno uraditi zadatke sa kvalifikacija za okružna takmičenja
OKRUŽNO TAKMIČENJE IZ INFORMATIKE - 2016
dms.rs/informatika-osnovne-skole/
1. Proizvod
Ulaz:
795
Izlaz:
665
Ulaz:
100
Izlaz:
0
Ulaz:
105
Izlaz:
50
#include < iostream >
using namespace std ;
int main()
{
int N, a, b, P=1, P2=1;
cin >> N;
a=N/10;
b=N%10;
P=a*b;
a=N/100;
b=N%100;
P2 = a*b;
if(P > P2){
cout << P << endl;
}
else{
cout << P2 << endl;
}
return 0;
}
2. Konkurs
Na standardnom ulazu se u jednom redu zadaju tri para prirodnih brojeva (koji nisu veći od 1000). Prvi par brojeva čine dve ocene za prvog programera, drugi par brojeva su ocene za drugog programera, treći par brojeva čine dve ocene za trećeg programera.
Primer 1
Izlaz
Na standardnom izlazu se ispisuje jedno od slova A, B ili C, u zavisnosti od toga koji programer je pobednik. Slovo A se ispisuje ako je pobedio prvi programer, slovo B se ispisuje ako je pobedio drugi programer, slovo C se ispisuje ako je pobedio treći programer.
Ulaz:
5 6 7 4 5 3
Izlaz:
B
Primer 2
Ulaz:
14 18 17 7 18 7
Izlaz:
B
#include < iostream >
using namespace std ;
int main()
{
int A1,A2,A3,B1,B2,B3,Z1,Z2,Z3;
scanf("%d%d",&A1,&B1);
scanf("%d%d",&A2,&B2);
scanf("%d%d",&A3,&B3);
Z1=A1+B1;
Z2=A2+B2;
Z3=A3+B3;
if(Z1 > Z2 && Z1 > Z3){
printf("%c",'A');
}
else if(Z2 > Z1 && Z2 > Z3){
printf("%c",'B');
}
else if(Z3>Z2 && Z3 > Z1){
printf("%c",'C');
}
else if(Z1==Z2 && Z1 > Z3){
printf("%c",'A');
}
else if(Z2 > Z1 && Z2 == Z3){
printf("%c",'B');
}
else if(Z3 > Z2 && Z3 == Z1){
printf("%c",'C');
}
return 0;
}
3. Lepota
U prvoj liniji standardnog ulaza data su dva cela broja m i n razdvojeni blanko karakterom.
Izlaz
Na standardnom izlazu ispisati jedan ceo broj koji predstavlja broj prelepih brojeva u datom segmentu.
Ograničenja
0 ≤ m ≤ n ≤ 10 000 000
Primer
Ulaz
90 91
Izlaz
2
Za svaki broj između m i n izvršiti proveru da li je broj "lep", tj. da li je sa svim ciframa međusobno različitim. Napraviti posebnu metodu za proveru. U for petlji menjati brojeve u intervalu od m do n i vršiti za svaki broj proveru, pozivanjem prethodno napravljene metode. Ako metoda "provera" vrati tačno onda povećati vrednost brojača za 1. Brojač je celobrojna promenljiva čija se vrednost prikazuje na izlazu.
Metoda za proveru:
Koristiti ugnježdene petlje. Unutar spoljnje menjati broj za proveru, tako što je u početnom ciklusu broj za proveru jednak početnom, a u svakom narednom broj je skraćen za jednu cifru sa desne strane. Npr. ako je početni broj 123345, u 1. ciklusu analiziramo taj broj, u 2. ciklusu broj za analizu 12334, u 3. 1233 itd. Cifra sa desne strane može se ukloniti deljenjem sa 10.
Unutrašnja petlja:
Broj koji analiziramo podelimo na dva dela, cifra desno i ostatak broja. Npr. 123345 delimo na cifru 5 i ostatak 12334. Dalje kroz petlju poredimo u svakom ciklusu tu cifru sa ciframa broja 12334 i to s desna na levo. Cifru izvlašimo iz broja koristeći ostatak deljenja sa 10 npr. cifra=12334%10, a zatim skratimo broj sa 10, tako da u sledećem ciklusu bude 12334/10 = 1233. Petlja traje sve dok ostatak bude veći od 0.
#include < iostream >
using namespace std ;
bool proveri(long int n)
{
bool r=true;
long int br1,cif;
long int br=n;
while(br != 0)
{
br1=br/10;
cif=br%10;
while(br1!=0)
{
long int cifI=br1%10;
if(cifI==cif)
{
r=false;
}
br1=br1/10;
}
if(!r){
break;
}
br=br/10;
}
return r;
}
int main()
{
long int m,n,p=0; cin >> m >> n;
if(m==n && m==0)
{
p=0;
}
for(int i=m; i<=n; i++)
{
if(proveri(i))
{
p++;
}
}
cout << p << endl;
return 0;
}
OKRUŽNO TAKMIČENJE IZ INFORMATIKE - 2019
dms.rs/informatika-osnovne-skole/
4. Sastanak
Pet programera tokom jednog dana boravi u firmi. Ako se za svakog od njih zna sat i minut dolaska i sat i minut odlaska napiši program koji određuje da li je moguće da organizuju zajednički sastanak (na kome moraju svi biti prisutni) i ako je moguće, koliko je najduže trajanje takvog sastanka (u satima i minutima).
Ulaz
Svaki od pet redova standardnog ulaza sadrži četiri cela broja razdvojena sa po jednim razmakom (sat i minut dolaska i sat i minut odlaska programera).
Izlaz
Na standardni izlaz ispisati vreme sastanaka tako da su broj sati i minuta razdvojeni jednim razmakom ili reč ne ako sastanak nije moguće održati.
Primer 1
Ulaz
8 15 16 30
9 40 17 15
9 20 14 30
8 45 16 45
9 15 15 20
Izlaz
4 50
Primer 2
Ulaz
7 30 12 30
7 48 13 29
12 28 19 12
12 33 17 37
11 36 18 51
Izlaz
ne
5. Brodovi
Transportna kompanija uspostavlja brodske vožnje između matične luke i nekoliko (najviše 5) drugih lučkih gradova. Na svakoj od tih linija cirkuliše tačno jedan brod tako što kreće iz matične luke, prevozi putnike do svog odredišta, a zatim druge putnike vraća nazad u svoju matičnu luku.
Ako svi brodovi iz matične luke kreću istovremeno i ako je za svaki od njih poznato koliko mu je dana potrebno da otputuje i da se vrati nazad u svoju matičnu luku (pretpostvalja se da se svaki transport i povratak obavlja unutar jedne kalendarske godine), napiši program koji određuje posle koliko dana će se svi brodovi ponovo susresti u matičnoj luci (obrati pažnju na to da iako rešenje uvek postoji, ono može biti veoma veliki broj).
Ulaz
Sa standardnog ulaza se unosi broj linija (najviše 5), a zatim za svaku od linija broj
dana potrebnih da brod optutuje i da se vrati.
Izlaz
Na standardni ulaz ispisati traženi broj.
Primer
Ulaz
3
15
24
60
Izlaz
120
6. Decimale
Napiši program koji izračunava i ispisuje količnik prirodnih brojeva m i n) manjih od milion, sa datim brojem decimala k (1 ≤ k ≤ 1000). Ne vršiti zaokrugljivanje rezultata (samo odseći decimale iza poslednje tražene). Sa standardnog liniji se redom učitavaju k, m i n (svaki u posebnom redu). Rezultat prikazati sa decimalnim zarezom (ne decimalnom tačkom).
Primer 1
Ulaz
20
1
7
Izlaz
0,14285714285714285714
Primer 2
Ulaz
7
1
2
Izlaz
0,5000000
Učitati broj decimala k, deljenik m i delilac n
Naći količnik m/n kao realan broj
Izdvojiti celobrojni deo u novu promenljivu kastovanjem(pretvaranjem u int tip).
Odštampati celobrojni deo, a zatim i ",".
Pre petlje postaviti početnu vrednost moda da bude jednaka ostatku deljenja n i m
U petlji koja ima ciklusa onoliko koliko ima decimala uraditi sledeće:
Pomnožiti ostatak deljenja(mod) sa 10 i smestiti u promenljivu npr x,
Izračunati i ostatak deljenja tog broja i n i to će biti novi mod za sledeći ciklus.
Izračunati rezultat deljenja x i n štampati kao sledeću cifru koja ide posle decimalnog zareza u broju.
#include < stdio.h>
int main()
{
double kol;
scanf("%d%d%d",&k,&m,&n);//20,1,7
kol=(double)m/n;//0,14285714285714285714
ceo=(int)kol;//0
printf("%d",ceo);
printf(",");
int x=m,mod;//1
mod = x % n;//1
for(int i = 0;i < k;i++){
mod = x % n;//3;2;6;4
x = x/n;//x=10/7=1;x=30/7=4;x=20/7=2;8...
printf("%d",x);//1;4;2;8...
return 0;
7. Skrivene šifre
jedan broj. Strućnjaci za šifrovanje su došli do zaključka da broj predstavlja niz šifara za pristup nekim računarima. Svaka šifra sadrži
samo cifre od 0 do 5, kraj šifre označava cifra 6 ili kraj broja, a cifre 7, 8 i 9 se koriste za maskiranje i treba ih ignorisati. Na ovaj način hakeri u jednom broju mogu da pošalju i po nekoliko šifara, pri čemu broj 0 nemože biti šifra.
Napisati program koji za uneti broj K ispisuje šifre, bez obzira na redosled, koje su u njemu skrivene i koliko se šifara u tom broju nalazi.
Primer:
Ulaz:
K = 23675
Izlaz:
Sifre su: 5 23
Poslate su 2 sifre
Ostala okružna takmičenja-kombinovano
8. GrupaOS
Potrebno predznanje: operatori, selekcije
prvom kolu u grupi O.S. igrale su tri ekipe čije su oznake bili brojevi 1, 2 i 3. Prvu rundu su odigrale ekipe sa oznakama 1 i 2 i zabeleženi su njihovi ostvareni poeni (za ekipu 1 kao R11 i za ekupu 2 kao R12), u drugoj rundi su igrale ekipe 1 i 3 (njihovi poeni su redpm R21 i R23), a potpm su igrale ekipe 2 i 3 (njihovi poeni su redom R32 i R33). U odigranoj rundi pobeđuje ona ekipa koja ima više poena. Ukpliko u nekoj rundi ekipe imaju izjednačen broj poena ne računa se pobeda ni jednoj ekipi. Nakon odigrane sve tri runde, određuje se pobednik kola.
Pobednik je ona ekipa koja ima najveći brpj pobeda. Ukpliko dve ekipe imaju jednak broj pobeda, koji je veći od broja pobeda treće ekipe, ili ukoliko su sve tri ekipe izjednačene, igraju je dodatne partije koje nose oznaku DP. Napisati program GRUPAOS u kome se unose redom vrednosti R11, R12, R21, R23, R32 i R33, a zatim se određuje i ispisuje koja je ekipa pobednik ili se ispisuje da se igraju dodatne partije DP.
Primer 1.
Ulaz:
R11 = 56 R12 = 254 R21 = 104 R23 = 198 R32 = 156 R33 = 148
Izlaz:
2
Primer 1.
Ulaz:
R11 = 156 R12 = 154 R21 = 104 R23 = 104 R32 = 256 R33 = 137
Izlaz: DP
Učitati broj osvojenih poena po rundi i ekipi. Npr R11 - broj poena u prvoj rundi za prvu ekipu. R23 je npr. broj osvojenih ekipa u drugoj rundi treće ekipe.
Uvesti poene po ekipi i inicijalizovati na vrednost nula.
Koristiti selekcije da se odredi koja je ekipa u određenoj rundi osvojila više poena i njoj povećati broj poena za 1.
Kada se ovo odredi za sve odigrane partije, upotrebiti novu selekciju(grananje u programu) da bi se uporedili poeni.
Ako je broj poena izjednačen štampati "DP" na ekranu.
U ostalim slučajevima štampati redni broj ekipe sa najviše osvojenih poena.
using namespace std;
/*Rešenje za programski jezik C++ */
int main()
{
int R11,R12,R21,R23,R32,R33,P1 = 0,P2 = 0,P3 = 0;
cin >> R11 >> R12 >> R21 >> R23 >> R32 >> R33;
/* Određuje se broj poena u prvoj rundi */
if(R11 > R12)
{
else if(R11 < R12)
{
/* Određuje se broj poena u drugoj rundi */
if(R21 > R23)
{
else if(R21 < R23)
{
/* Određuje se broj poena u trećoj rundi */
if(R32 > R33)
{
else if(R32 < R33)
{
/* Određuje se ekipa koja je pobedila */
if(P1 > P2 && P1 > P3)
{
else if(P2 > P1 && P2 > P3)
{
else if(P3 > P1 && P3 > P2)
{
else/* Igraju se dodatne partije */
{
return 0;
9. Senzori
Potrebno predznanje: operatori, petlje, selekcije
Žarko u jednoj od igara koju igra na turniru P.O.S.O.T. treba svojim likom, koji vodi u igrici, da prođe kroz sobu sa senzorima. Senzori su postavljeni na podu sobe u N paralelnih linija po širini sobe. Prva linija, koja je najbliža Žarkovom liku ima samo jedan senzor koji je tačno na sredini sobe. Druga linija ima tri senzora, pri čemu se srednji nalazi tačno iza senzora u prvoj liniji. Treća linija ima 5
senzora, pri čemu su središta tri tačno iza senzora u drugoj liniji, a preostala dva su jedan sa jedne, a drugi sa druge strane.
Svaka naredna linija ima po dva senzora više tako što se u odnosu na predthodnu liniju dodaju po jedan sa leve i desne strane. Rastojanje između dva susedna senzora na svakoj liniji je jednako i iznosi R centimetara.
Ovako postavljeni senzori fprmiraju trougao. Dimenzije sobe su dovoljno velike da stanu svi predviđeni senzori. Žarkov lik u igrici
mora da prođe pravo po sredini sobe na drugu stranu, pri čemu će aktivirati sve senzore preko kojih pređe. Ako Žarko zna da je širina njegovog lika S centimetara, potrebno mu je da izračuna koliko će senzpra njegov lik aktivirati. Napisati program SENZORI koji za unete vrednpsti N, R i S određuje broj aktiviranih senzora. Primer. Ulaz: N = 5 R = 1.1 S = 5.4 Izlaz: 19 |
Treba uočiti da se broj senzora povećava u svakom redu za 2, počev od donjeg, u kojem je broj senzora 1, sve dokle je širina zahvaćenih senzora manja ili jednaka širini Žarkovog lika S(unosi korisnik). Broj zahvaćenih redova je N(unosi korisnik).
Koristiti petlju, menjati redove od 1 do N i formirati zbir senzora za vrednost broja senzora u tekućem redu.
Broj senzora u tekućem redu povećavati kroz cikluse za 2, počev od vrednosti 1, sve dok je ispunjen uslov da je širina zahvaćenih senzora manja ili jednaka širini Žarkovog lika.
/*Rešenje za programski jezik C */
int main()
{
double R,S;
scanf("%d%lf%lf",&N,&R,&S);
for(int i = 0; i < N; i++){
double sir = i*2*R;
if(i != 0 && S >= sir)
printf("%d\n",br);
return 0;
10. Stepeni
Potrebno predznanje: operatori, petlje, selekcije
Primeri
Ulaz:
30
60
Izlaz:
pravougli
Ulaz:
18
18
Izlaz:
tupougli
Ulaz:
75
60
Izlaz:
ostrougli
11. Iks-oks
Potrebno predznanje: operatori, selekcije
Mirko je mali programer koji pokušava da isprogramira igricu iks-oks. Blizu je da završi, ali mu je potrebna mala pomoć. Smislio je da korisnik mišem određuje kvadrat u koji će se njegov simbol upisati. Polje za igru se sastoji od 9 kvadrata (raspoređena u tri vrste i tri kolone) i svaki kvadrat je dimenzije 100 puta 100 piksela (polje je dimenzije 300 puta 300 piksela). Poznat je položaj piksela na koji je kliknuto mišem. Potrebno je odrediti redni broj kvadrata u kojem se taj piksel nalazi. Položaj piksela je određen rednim brojevima (koordinatama) tog piksela po horizontali i po vertikali, računajući od donjeg levog ugla polja (pikseli se broje od 1 do 300). Kvadrati se broje od 1 do 9, vrstu po vrstu, počevši od donjeg levog ugla polja naviše, kako je prikazano na slici.
|
Primeri
Ulaz:
1 1
Izlaz:
1
Ulaz:
120 280
Izlaz:
8
Ulaz:
100 201
Izlaz:
7
Ulaz:
101 200
Izlaz:
5
S obzirom da je broj piksela 30 puta manji od stranice kvadrata, redni broj kvadrata u nekom redu ili u nekoj koloni se može dobiti celobrojnim delenjem rednog broja piksela sa 30.
Ovde razlikujemo dva slučaja: 1 - da je broj piksela sa brojem 30 deljiv bez ostatka ili
2 - da je broj piksela sa brojem 30 deljiv sa ostatkom
Ako ima ostatka(brojevi nisu deljivi), onda dobijeni redni broj vrste(ili kolone) treba povećati za 1.
Za izračunati redni broj reda i redni broj kolone može se odrediti traženi broj tako što se na redni broj kolone doda broj kvadrata u prethodnim redovima, a to je proizvod broja prethodnih redova i broja kvadrata u jednom redu(u ovom slučaju 3).
/*Rešenje za programski jezik C */
int main()
{
Rešenje će uskoro biti prikazano ovde!
return 0;
12. Žarko
Potrebno predznanje: podaci, operatori,
Na velikom turniru P.O.S.O.T. u igranju kompjuterskih igrica, Žarko je odigrao četiri partije. Nakon završenih partija, zaključio je da mu je lakše da prati promenu rezultata između dve partije nego tačan broj bodpva. Tako je zapamtio da je
- u drugoj partiji imao tačno 1042 poena više nego u prvoj
- u trećoj partiji imao kpliko u prvoj i drugoj zajedno
- u četvrtpj partiji duplo manje nego u trećoj.
osvojenih u četvrtoj partiji izračunava kolikp je Žarko psvojio poena u prvoj partiji.
Primer.
Ulaz:
C = 2845
Izlaz:
2324
Okružna takmičenja za 7 i 8 razred
Da bi ste testirali primere ulogujte se na pomenuti sajt.
Godina 2023-24
13. Čudno putovanje
Putokaz sa rednim brojem i je opisan sa dva broja:
ai i bi - ovo znači da je taj putokaz udaljen ai kilometara od Agrada i bi kilometara od Begrada.
Međutim, jedan putokaz je netačan. Odrediti koji.
Ulaz
U prvoj liniji standardnog ulaza se nalaze dva broja a1 i b1. U drugoj liniji standardnog ulaza se nalaze dva broja a2 i b2.
U trećoj liniji standardnog ulaza se nalaze dva broja a3 i b3. U četvrtoj liniji standardnog ulaza se nalaze dva broja a4 i b4.
Maja ne voli dugo da putuje, pa su svi brojevi na ulazu manji od 10^9.
Izlaz
Na standardni izlaz ispisati tačno jedan broj - redni broj putokaza koji je netačan.
Primer
Ulaz
2 9
8 3
9 4
5 6
Izlaz
3
Napomena
Putokazi su numerisani rednim brojevima - prvi - rednim brojem 1, drugi - rednim brojem 2, treći - rednim brojem 3 i četvrti - rednim brojem 4
14. Proizvod prostih cifara
Ulaz
Na standardnom ulazu se unosi tačno jedan prirodan broj n.
Izlaz
Na standardni izlaz treba ispisati jedan prirodan broj - proizvod prostih cifara u tom broju.
Ukoliko broj nema prostih cifara, ispisati -1 na standardni izlaz.
Primer 1
Ulaz
52483579
Izlaz
1050
Objašnjenje primera. Proizvod prostih cifara je
5*2*3*5*7=1050.
Primer 2
Ulaz
186
Izlaz
-1
Objašnjenje primera. Brojevi 1, 8 i 6 nisu prosti.
Primer 3
Ulaz
1026
Izlaz
2
Napomena
Za prirodan broj kažemo da je prost ako ima tačno dva različita delioca u skupu prirodnih brojeva.
Brojevi 0 i 1 nisu prosti.
15. Rečenice u zagradama
Ulaz
Sa standardnog ulaza se učitava niska dužine najviše 10000 karaktera sastavljena od malih slova engleske abecede, razmaka i uglastih zagrada. Niska je ispravno zapisana i sadrži reči i rečenice. Niska ne sadrži višestruke uzastopne razmake.
Izlaz
Na standardni izlaz ispisati svaku reč, odnosno rečenicu u posebnom redu.
Primer 1
Ulaz
[zdravo svima] dobar dan [kako ste] pozdrav
Izlaz
zdravo svima
dobar
dan
kako ste
pozdrav
Primer 2
Ulaz
pozdrav svima
Izlaz
pozdrav
svima
Primer 3
Ulaz
Danas je [takmicenje] [iz programiranja]
Izlaz
Danas
je
takmicenje
iz programiranja
16. Takmičari
Ulaz
U prvom redu standardnog ulaza se nalazi broj takmičara n (n≤10^5). U drugom redu standardnog ulaza se nalazi n prirodnih brojeva manjih od 10^5 -- poeni takmičara. U trećem redu se nalazi najveća dopuštena razlika poena k (1≤k≤10^5).
U 50% primera će važiti n≤10^3 (obrati pažnju na to da će u ostalim test-primerima broj takmičara biti veliki i da se za 100% poena očekuje efikasno rešenje).
Izlaz
Na standardni izlaz treba ispisati tačno jedan ceo broj - broj dobrih parova na tom takmičenju.
Primer 1
Ulaz
6
1 12 2 9 5 8
4
Izlaz
8
Objašnjenje
Takmičari sa sledećim poenima čine dobar par: (1,2), (1,5), (12,9), (12,8), (2,5), (9,5), (9,8), (5,8).
Primer 2
Ulaz
10
15 3 24 17 9 16 3 22 19 8
5
Izlaz
14
17. Trougao najvećeg obima
Ulaz
Sa standardnog ulaza se unosi broj n (1≤n≤100), a zatim u narednih n redova po tri prirodna broja koji predstavljaju dužine stranica trougla (sve trojke brojeva zadovoljavaju odgovarajuće nejednakosti trogula).
Izlaz
Na standardni izlaz ispisati najveći obim trougla.
Primer
Ulaz
3
3 4 5
10 3 11
5 7 8
Izlaz
24
18. Najbolji učesnici turnira
Potrebna predznanja: Operatori, petlje, nizovi
Opciono: vektori, mape u c++
Odrediti pobednika i drugoplasiranog na turniru.
Ulaz
Sedam linija standardnog ulaza sadrže po 2 imena razdvojena jednom razmakom. Prvo ime u redu predstavlja pobednika, a drugo poraženog u tom meču. Sva imena se sastoje od najmanje jednog, a najviše 10 slova engleske abecede.
Izlaz
U prvom redu standardnog izlaza ispisati pobednika turnira. U drugom redu standardnog izlaza ispisati drugoplasiranog na turniru.
Primer
Ulaz
Bojan Aleksa
Vanja Goran
Emil Zivadin
Emil Vanja
Vanja Bojan
Emil Dusan
Dusan Djordje
Izlaz
Emil
Vanja
Objašnjenje
U četvrfinalu su rezultati bili sledeći:
Emil je pobedio Živadina,
Dušan je pobedio Đorđa,
Bojan je pobedio Aleksu,
Vanja je pobedio Gorana.
U polufinalu je Emil pobedio Dušana, a Vanja je pobedio Bojana.
Konačno, u finalu je Emil pobedio Vanju.
19. Makazice
U ovom zadatku se pretpostavlja da se sva deca kreću istom brzinom i da krojač odmah primećuje svaku započetu razmenu mesta i kreće ka bližem od dva privremeno slobodna drveta. Prvo dete pokušava da proceni sa koliko druge dece bi ono moglo da razmeni mesto, a da ih krojač ne ugrožava. Možete li da mu pomognete?
Ulaz
U prvom redu standardnog ulaza su dva cela broja razdvojena razmakom, koordinate krojača. U drugom redu je jedan ceo broj
n, broj drveća, tj. broj dece koja nisu krojač, ne veći od 50. U svakom od narednih n redova su po dva cela broja razdvojena razmakom, koordinate jednog deteta. Sve koordinate su iz intervala[0,30000].
Izlaz
Na standardni izlaz ispisati jedan ceo broj, broj dece sa kojima prvo dete može bezbedno da razmeni mesto.
20. Konopci
Ulaz
U prvom redu standardnog ulaza se nalazi prirodan broj N - broj kanapa (N≤2⋅10^5).
U drugom redu standardnog ulaza se nalazi tačno N prirodnih brojeva - dužine kanapa (svi kanapi su kraći od 10^18).
Dodatna ograničenja
Test primeri su podeljeni u tri disjunktne (nezavisne) grupe:
U test primerima vrednim 40 poena: N≤10^3 i 1≤Ai≤10^4 za svako i=1,2,3,…,N;
U test primerima vrednim 20 poena: N≤4⋅10^4 i 1≤Ai≤10^4 za svako i=1,2,3,…,N;
U test primerima vrednim 40 poena:N≤2⋅10^5 i 1≤Ai≤10^18 za svako i=1,2,3,…,N.
Izlaz
Na standardni izlaz treba ispisati tačno jedan prirodan broj - maksimalnu dužinu na koju možemo iseći kanape tako da komadi koji ostanu budu svi iste dužine.
Primer 1
Ulaz
3
8 39 12
Izlaz
4
Objašnjenje primera. Pera može da izbaci kanap dužine 39. Tada može da iseče preostala dva kanapa na komade dužine 4. Ukoliko bi Pera izbacio kanap dužine 8, maksimalna dužina na koju bi mogao da iseče preostala dva kanapa je 3. Ukoliko bi Pera izbacio kanap dužine 12, maksimalna dužina na koju bi mogao da iseče preostala dva kanapa je 1. Prema tome, maksimalna dužina je 4.
Primer 2
Ulaz
4
10 13 12 8
Izlaz
2
Godina 2022-23
21. Milioner
Potrebna predznanja: Operatori, petlje, nizovi
Opciono: vektori
Pomoć publike - 100 gledalaca glasa za jedan od 4 ponuđena odgovora i učesnik može da vidi koliko ljudi je glasalo za koji odgovor.
Pola-pola - računar nasumično odbaci dva netačna odgovora i ostavi igraču jedan tačan i jedan netačan.
Pozovi prijatelja - učesnik telefonom zove svog prijatelja koji mu kaže šta misli da je tačan odgovor.
Darko je stigao do pretposlednjeg pitanja i ostale su mu sve tri pomoći. Pošto ne zna odgovor, odlučio se za sledeću taktiku: prvo će pitati publiku i ako jedan odgovor ima više glasova od svih ostalih zajedno onda će izabrati njega. Ako nijedan odgovor ne ispunjava uslov, uzeće pomoć pola-pola. Kada ostanu dva ponuđena odgovora, Darko će izabrati onaj koji ima bar 20 glasova publike više u odnosu na drugi. Ako i dalje nijedan odgovor ne ispunjava uslov, Darko će pozvati prijatelja i odgovoriće onako kako mu prijatelj kaže. Odrediti Darkov konačan odgovor na pretposlednje pitanje.
Ulaz
U prvom redu standardnog ulaza se nalaze 4 cela broja odvojena razmacima koji predstavljaju broj gledalaca koji je glasao redom za odgovore a, b, c, i d. Svi ovi brojevi su između 0 i 100 i zbir im je 100. Ukoliko je potrebno (tj. ako Darko nije na osnovu prve pomoći dao odgovor), u drugom redu se nalaze dva različita slova (iz skupa slova a, b, c, d) odvojena razmakom koja predstavljaju ponuđene odgovore koje je računar ostavio Darku. Ukoliko je potrebno (tj. ako Darko ni na osnovu druge pomoći nije dao odgovor), u poslednjem redu se nalazi jedno slovo - odgovor koji prijatelj predlaže. To slovo je sigurno jedno od onih koje je računar ostavio kao moguć odgovor.
Izlaz
U jedinom redu standardnog izlaza ispisati jedno slovo (a, b, c ili d) koje predstavlja konačan odgovor koji je Darko dao.
Primer 1
Ulaz
12 17 11 60
Izlaz
d
Objašnjenje
Pošto je za odgovor d glasalo više gledalaca nego za sve ostale odgovore zajedno, Darko odmah odlučuje da to bude njegov odgovor i ne koristi ostale pomoći.
Primer 2
Ulaz
12 17 34 37
b c
c
Izlaz
c
Objašnjenje
Nakon pomoći publike nijedan odgovor nema neophodnu većinu, pa Darko traži pomoć pola-pola. Pošto ostaju odgovori b i c čija je razlika u broju glasova publike manja od 20, Darko traži pomoć prijatelja i daje konačan odgovor c jer je prijatelj tako predložio.
22. Dve slike na papiru
Potrebna predznanja: Operatori, petlje, nizovi
Opciono: vektori
Ulaz
Sa standardnog ulaza se unose dimenzije (širina i visina) papira, dimenzije prve slike i dimenzije druge slike.
Izlaz
Na standardni izlaz ispisati broj od 0 do 4 koji predstavlja broj mogućih načina da se slike rasporede na papir.
Primer 1
Ulaz
800 600
200 400
400 200
Izlaz
4
Objašnjenje
4 ispravna rasporeda slika
Primer 2
Ulaz
800 600
400 500
300 650
Izlaz
0
Objašnjenje
4 neispravna rasporeda slika
Primer 3
Ulaz
800 600
400 500
300 250
Izlaz
2
Objašnjenje
2 ispravna i 2 neispravna rasporeda slika
23. Proizvod bez trenutnog broja
Ulaz
Sa standardnog ulaza se učitava broj n (1≤n≤10^5), a zatim elementi niza (brojevi od −10 do 10), pri čemu se garantuje da je svaki od traženih proizvoda broj između −10^9 i 10^9.
Izlaz
Na standardni izlaz ispisati tražene proizvode razdvojene razmacima.
Primer 1
Ulaz
5
1 2 3 4 5
Izlaz
120 60 40 30 24
Primer 2
Ulaz
5
1 2 0 4 5
Izlaz
0 0 40 0 0
24. K najbližih
Ulaz
Iz prve linije standardnog ulaza se unose brojevi n (1≤n≤10^5), k (1≤k≤n) i x (1≤x≤10^9) razdvojeni razmacima. Zatim se u narednoj liniji unosi n celih brojeva ai (1≤ai≤10^9) koji predstavljaju elemente niza. Ovi brojevi su, takođe, razdvojeni razmacima.
Izlaz
Na standardni izlaz ispisati traženih k brojeva razdvojenih razmacima, uređenih neopadajuće.
Primer 1
Ulaz
7 4 4
7 4 2 3 1 5 6
Izlaz
2 3 4 5
Objašnjenje
Od svih unetih brojeva, 4 broja koja su najbliža broju 4 su 2, 3, 4 i 5. Ostali brojevi imaju veću razliku u odnosu na broj 4.
Primer 2
Ulaz
5 3 2
3 1 3 1 3
Izlaz
1 1 3
Primer 3
Ulaz
5 3 20
5 3 2 4 1
Izlaz
3 4 5
25. Dostavljač
Potrebna predznanja: Operatori, petlje, nizovi
Opciono: vektori
Napiši program koji za dati broj dostava i date koordinate zgrada (rastojanja od zgrada od početka ulice) izračunava i ispisuje ukupno rastojanje koje će robot Mile preći od prve do poslednje dostave.
Ulaz
U prvom redu standardnog ulaza nalazi se prirodan broj n, ne veći od 30. U svakom od sledećih n redova nalazi se po jedan neoznačen ceo broj, rastojanje od početka ulice do sledeće zgrade (tj. koordinata zgrade) u koju treba dostaviti narudžbinu. Ovi brojevi nisu veći od 10000.
Izlaz
Na standardni izlaz ispisati samo jedan ceo broj, ukupnu dužinu puta koji pređe robot Mile.
Primer 1
Ulaz
5
2
7
7
1
3
Izlaz
13
Objašnjenje
Pozicije zgrada u redosledu dostavljanja su 2, 7, 7, 1, 3. Mile prvo ide od pozicije 2 do pozicije 7, zatim od 7 do 7 (dostava u istoj zgradi), pa od 7 do 1 i na kraju od 1 do 3. Rastojanja pređena od dostave do dostave su redom 5, 0, 6, 2, a zbir tih rastojanja je 13.
Primer 2
Ulaz
1
7
Izlaz
0
Objašnjenje
Prva i poslednja dostava su ista dostava. To znači da se Mile uopšte ne kreće između prve i poslednje dostave i da je pređeno rastojanje od prve do poslednje dostave jednako 0.
Uputstvo za rešavanje:
1. Unesite broj dostava n
, koji označava broj dostava koje robot treba da izvrši.
2. Unesite n
brojeva koji predstavljaju koordinate zgrada (rastojanje od početka ulice do svake zgrade).
3. Ako postoji samo jedna dostava (n=1), robot ne prelazi nikakvo rastojanje.
4. U suprotnom, izračunajte razliku između svake dve uzastopne adrese i sabirajte te razlike kako biste dobili ukupno rastojanje.
5. Ispisujte ukupno pređeno rastojanje.
using System;
class Program
{
{
int n = int.Parse(Console.ReadLine());
int[] adrese = new int[n];
// Unos koordinata zgrada
for (int i = 0; i < n; i++)
int ukupnoRastojanje = 0;
for (int i = 1; i < n; i++)
}
}
26. Minimaks
Ulaz
U svakom od 4 reda standardnog ulaza nalazi se po jedna dekadna cifra, od kojih bar jedna nije nula.
Izlaz
Na standardni izlaz ispisati samo jedan prirodan broj koji predstavlja razliku najvećeg i najmanjeg četvorocifrenog broja koji se pomoću datih cifara mogu formirati.
Primer 1
Ulaz
3
7
5
9
Izlaz
6174
Objašnjenje
Najveći četvorocifreni broj koji se može formirati pomoću datih cifara je 9753, a najmanji je 3579. Na standardni izlaz treba ispisati njihovu razliku 9753−3579=6174.
Primer 2
Ulaz
2
0
5
6
Izlaz
4464
Objašnjenje
Najveći četvorocifreni broj koji se može formirati pomoću datih cifara je 6520, a najmanji je 2056. Na standardni izlaz treba ispisati njihovu razliku 6520−2056=4464.
Napomena: U zadatku se traži najmanji četvorocifreni broj, pa treba voditi računa da broj ne sme počinjati nulom. Upravo zbog toga, najmanji četvorocifreni broj je 2056.
Primer 3
Ulaz
0
0
5
0
Izlaz
0
Objašnjenje
Najveći četvorocifreni broj koji se može formirati pomoću datih cifara je 5000, a najmanji je takođe 5000. Na standardni izlaz treba ispisati njihovu razliku 5000−5000=0.
Napomena: U zadatku se traži najmanji četvorocifreni broj, pa treba voditi računa da broj ne sme počinjati nulom. Upravo zbog toga, najmanji četvorocifreni broj je 5000, što će ujedno biti i najveći četvorocifreni broj.
Godina 2021/22
Da bi ste testirali primere ulogujte se na pomenuti sajt.
Zadaci za 7. razred
27. Iks-oks
Dva igrača igraju igru iks-oks. Ova igra se igra na tabli veličine 3×3 na koju igrači naizmenično upisuju iks ili oks. Pobednik je onaj igrač koji uspe da u jedan red, jednu kolonu ili na jednu dijagonalu upiše 3 svoja znaka. Za zadatu krajnju poziciju igre, odredi da li je pobedio igrač iks, igrač oks, ili je igra završena nerešeno.
Ulaz
U tri reda standardnog ulaza se nalaze po tri znaka 'x', 'o' ili '*'. Prvi red ulaza opisuje kako je popunjen prvi red table za igranje itd. Oznaka 'x' označava iks, 'o' oks, a '*' da je to polje na kraju partije prazno.
Izlaz
Ukoliko je pobedio iks ispisati znak x, ukoliko je pobedio oks ispisati o, a ukoliko je nerešeno ispisati nereseno.
Primer 1
Ulaz
x*x ox* xoo
Izlaz
x
Primer 2
Ulaz
xxo oox xox
Izlaz
nereseno
28. Cifre i slova
Napiši program koji za unetu nisku određuje apsolutnu vrednost razlike između broja cifara i broja slova u toj niski.
Kao slova se broje mala i velika slova engleske abecede.
Ulaz
Jedina linija standardnog ulaza sadrži reč dužine najviše 20 karaktera.
U niski, pored malih i velikih slova engleske abecede i cifara, mogu da se pojave i praznine i drugi ASCII karakteri (neće se pojavljivati slova drugih pisama).
Izlaz
Na standardni izlaz ispisati traženu vrednost.
Primer
Ulaz
Programiranje 1
Izlaz
12
Sledeće
Priprema za državna takmičenja >| |